Skip to content

Instantly share code, notes, and snippets.

@Pretz
Created November 11, 2013 16:31
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save Pretz/7416060 to your computer and use it in GitHub Desktop.
Save Pretz/7416060 to your computer and use it in GitHub Desktop.
NSFetchedResultsController backed UITableViewController with State Restoration
#pragma mark - State Restoration
- (NSString *)modelIdentifierForElementAtIndexPath:(NSIndexPath *)idx inView:(UIView *)view {
if (idx && self.fetchedResultsController) {
NSManagedObject *object = [self.fetchedResultsController objectAtIndexPath:idx];
return object.objectID.URIRepresentation.absoluteString;
}
return nil;
}
- (NSIndexPath *)indexPathForElementWithModelIdentifier:(NSString *)identifier inView:(UIView *)view {
if (self.fetchedResultsController) {
NSURL *objectURL = [NSURL URLWithString:identifier];
NSPersistentStoreCoordinator *coordinator = self.fetchedResultsController.managedObjectContext.persistentStoreCoordinator;
NSManagedObjectID *objectID = [coordinator managedObjectIDForURIRepresentation:objectURL];
NSManagedObject *object = [self.fetchedResultsController.managedObjectContext existingObjectWithID:objectID error:NULL];
if (object) {
return [self.fetchedResultsController indexPathForObject:object];
}
}
return nil;
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment