У меня есть UITableView
, который обновляется с NSFetchedResultsController
.UITableView
имеет чередующиеся цвета строк для четных и нечетных строк.Мне нужно добавить поддержку для вставки и удаления объектов, поэтому я реализовал NSFetchedResultsControllerDelegate
, чтобы справиться с этим.Тем не менее, теперь моя чередующаяся цветовая схема снимается после вставки в любом месте, но в конце.Любые идеи о том, как решить эту проблему без перезагрузки табличного представления (и не потерять мои анимации)?
Вот мой код:
- (UITableViewCell *)tableView:(UITableView *)tableView
cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
CustomTableViewCell *cell = ...;
indexPath.row % 2 == 0 ? [cell odd] : [cell even];
return cell;
}
- (void)controller:(NSFetchedResultsController *)controller didChangeObject:(id)object
atIndexPath:(NSIndexPath *)deleteIndexPath
forChangeType:(NSFetchedResultsChangeType)type
newIndexPath:(NSIndexPath *)insertIndexPath
{
switch(type)
{
case NSFetchedResultsChangeInsert:
[self.mainTableView insertRowsAtIndexPaths:[NSArray arrayWithObject:insertIndexPath]
withRowAnimation:UITableViewRowAnimationFade];
break;
case NSFetchedResultsChangeDelete:
[self.mainTableView deleteRowsAtIndexPaths:[NSArray arrayWithObject:deleteIndexPath]
withRowAnimation:UITableViewRowAnimationFade];
break;
}
}