0
내 셀은 cellforrowatindexpath에서 데이터가 섞여서 나타납니다. 텍스트 색상과 레이블 텍스트를 변경하지만 isComplete 값이 변경 되더라도 셀 색상과 텍스트는 무작위로 변경됩니다.셀에서 데이터를 섞어서 셀을 생성하는 방법.
예를 들어 테이블보기를 스크롤 할 때 완료 작업이 빨간색으로 표시 될 수 있습니다. 이상한 점은 스크롤하는 셀에만 해당되며 처음에로드되고 화면에 표시되는 셀에는 발생하지 않는다는 것입니다. 왜 이런 일이
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
TaskCell *cell = [tableView
dequeueReusableCellWithIdentifier:@"TaskCell"];
PFObject *player = (_tasks)[indexPath.row];
NSString *taskType = player[@"name"];
NSNumber *completeNum = player[@"complete"];
BOOL isComplete = [completeNum boolValue];
UIImage *completeImage;
NSLog(@"task: %@ is complete %@", player[@"taskDescription"], player[@"complete"]);
if(isComplete){
completeImage = [UIImage imageNamed:@"check"];
cell.taskDescriptionLabel.text = player[@"taskDescription"];
}else{
completeImage = [UIImage imageNamed:@"x2"];
cell.taskDescriptionLabel.text = @"Incomplete";
cell.taskDescriptionLabel.textColor = [UIColor redColor];
}
cell.taskCompletedImage.image = completeImage;
cell.TaskTypeLabel.text = taskType;
return cell;
}
입니다 : 여기
내 방법처럼 보이는 무엇인가?
코드는 괜찮습니다. 배열 (_tasks)을 참조하는 것은 조금 이상합니다. 그게 재산인가요? self.tasks는 어떻습니까? 또한 작업 배열의 요소를 "플레이어"라고 부르는 이유는 무엇입니까? 그러나 그것의 아무도는 문제를 설명하지 않는다. – danh
당신의 문제는'player [@ "complete"]'속성을 어떻게 설정하는지에 달려 있습니다. 설정 방법에 대한 코드를 제공하십시오. – jakenberg