我正在通过 Core Data 和 an 提取一些对象,NSFetchedResultsController
并且我正在尝试根据它们的布尔属性之一对它们应用条件格式。例如,如果它们被标记为Liked
我希望它们的文本颜色为蓝色。
我发现的问题是,在滚动表格时,不仅仅是那些带有Liked
asYES
的被着色。这也是一个常规模式,例如,当我向下滚动时,每六个条目。我认为这与细胞排队和重用有关,但我不知道是什么。这是我的代码:
- (UITableViewCell *) tableView: (UITableView *) tableView cellForRowAtIndexPath: (NSIndexPath *) indexPath
{
static NSString *CellIdentifier = @"Cell";
UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier: CellIdentifier forIndexPath: indexPath];
Quote *thisQuote = [self.fetchedResultsController objectAtIndexPath: indexPath];
cell.textLabel.numberOfLines = 4;
cell.textLabel.font = [UIFont boldSystemFontOfSize: 12];
cell.textLabel.textAlignment = NSTextAlignmentCenter;
cell.textLabel.text = [[self.fetchedResultsController objectAtIndexPath: indexPath] quote];
if ([[thisQuote isLiked] boolValue]) {
cell.textLabel.textColor = [UIColor blueColor];
}
return cell;
}