Ich habe eine UITableView mit 3 Abschnitten und jeder Abschnitt wird durch eindeutige NSFetchedResultsController gespeist.UITableView mit mehreren NSFetchedResultsControllern, die Assertionsfehler verursachen
Ich erhalte Assertionsfehler vom NSFetchedResultsController -controllerDidChangeContent, beim Einfügen, Aktualisieren ... die Tabelle.
Meine Vermutung ist Problem mit IndexPaths kommt in Methode unten, da jeder Controller nur einzelne Abschnitt (0) hat und für den Controller in Abschnitt 0 der Fehler nicht auftritt.
- (void)controller:(NSFetchedResultsController*)controller didChangeObject:(id)anObject atIndexPath:(NSIndexPath*)indexPath forChangeType:(NSFetchedResultsChangeType)type newIndexPath:(NSIndexPath*)newIndexPath
{
switch(type)
{
case NSFetchedResultsChangeInsert:
[[self atableView] insertRowsAtIndexPaths:[NSArray arrayWithObject:newIndexPath] withRowAnimation:UITableViewRowAnimationLeft];
break;
case NSFetchedResultsChangeDelete:
[[self atableView] deleteRowsAtIndexPaths:[NSArray arrayWithObject:indexPath] withRowAnimation:UITableViewRowAnimationLeft];
break;
case NSFetchedResultsChangeUpdate:
[self configureCell:(DashboardViewCell *) [[self atableView] cellForRowAtIndexPath:indexPath] atIndexPath:indexPath];
break;
case NSFetchedResultsChangeMove:
[[self atableView] deleteRowsAtIndexPaths:[NSArray arrayWithObject:indexPath] withRowAnimation:UITableViewRowAnimationFade];
[[self atableView] insertRowsAtIndexPaths:[NSArray arrayWithObject:newIndexPath] withRowAnimation:UITableViewRowAnimationFade];
break;
}
}
Also meine Frage ist, wie kann ich feststellen, welche Controller (von dem Abschnitt) wird die indexPath entsprechend verarbeitet und ändern und wenn das der richtige Weg, es zu tun? Und möglicherweise einige Beispiele für die Verwendung mehrerer nfetchedresultscontrollers mit einem uitableview.
Danke für die Zeitersparnis;) Ein kleiner Fehler für den 'newIndexPath'. Es sollte '[NSIndexPath indexPathForRow: newIndexPath.row inSection:]' sein –