Ich habe eine App, die UIKit Zustandserhaltung in iOS 6 verwendet. Ich bin in der Lage zu speichern/wiederherstellen den Zustand der Ansicht Controller, dh welche Registerkarte ausgewählt ist und Navigation Controller-Hierarchie, aber ich Meine Tabellenansicht kann nicht wiederhergestellt werden. Ich habe eine Restauration Kennung in meinem Drehbuch für die Ansicht sowie die View-Controller und den View-Controller (die Datenquelle des Tabelle) implementiert UIDataSourceModelAssociation
wie folgt:UIKit Zustandserhaltung nicht Scroll-Offset wiederherstellen
- (NSString *)modelIdentifierForElementAtIndexPath:(NSIndexPath *)indexPath inView:(UIView *)view
{
TSStatus *status = [self._fetchedResultsController objectAtIndexPath:indexPath];
return status.objectID.URIRepresentation.absoluteString;
}
- (NSIndexPath *)indexPathForElementWithModelIdentifier:(NSString *)identifier inView:(UIView *)view
{
NSURL *statusURL = [NSURL URLWithString:identifier];
NSManagedObjectID *statusID = [[TSDataController sharedController].persistentStoreCoordinator managedObjectIDForURIRepresentation:statusURL];
TSStatus *status = (TSStatus *)[[TSDataController sharedController].mainContext objectWithID:statusID];
return [__fetchedResultsController indexPathForObject:status];
}
modelIdentifierForElementAtIndexPath:inView:
aufgerufen wurden, wenn die App geht in den Hintergrund aber modelIdentifierForElementAtIndexPath:inView:
wird nie aufgerufen.
Ich nehme an, Ihr schließender Absatz ist ein Tippfehler? --- "modelIdentifierForElementAtIndexPath: inView: wird aufgerufen, wenn die App in den Hintergrund tritt, jedoch modelIdentifierForElementAtIndexPath: inView: wird nie aufgerufen." – Daniel