Note that there are some explanatory texts on larger screens.

plurals
  1. PONSFetchedResultsController returning objects with another context
    text
    copied!<p>In order to get information from an entity I have called Entry for my table view cells, i have this code:</p> <pre><code>Entry *entry = [self.appDelegate.fetchedResultsController objectAtIndexPath:indexPath]; NSLog(@"timeline entry contexts: %@ and %@", [[AppDelegate applicationDelegate] managedObjectContext], [entry managedObjectContext]); </code></pre> <p>The two managedObjectContexts return as being different. Here is my fetched results controller:</p> <pre><code>- (NSFetchedResultsController *)fetchedResultsController { if (_fetchedResultsController != nil) { return _fetchedResultsController; } NSFetchRequest *fetchRequest = [[NSFetchRequest alloc] init]; NSEntityDescription *entity = [NSEntityDescription entityForName:@"Entry" inManagedObjectContext:[AppDelegate applicationDelegate].managedObjectContext]; [fetchRequest setEntity:entity]; [fetchRequest setFetchBatchSize:20]; NSSortDescriptor *sortDescriptor = [[NSSortDescriptor alloc] initWithKey:@"creationDate" ascending:NO]; NSArray *sortDescriptors = [[NSArray alloc] initWithObjects:sortDescriptor, nil]; [fetchRequest setSortDescriptors:sortDescriptors]; NSFetchedResultsController *aFetchedResultsController = [[NSFetchedResultsController alloc] initWithFetchRequest:fetchRequest managedObjectContext:[AppDelegate applicationDelegate].managedObjectContext sectionNameKeyPath:@"sectionIdentifier" cacheName:@"Root"]; aFetchedResultsController.delegate = self; self.fetchedResultsController = aFetchedResultsController; self.fetchedResultsController.delegate = self; return _fetchedResultsController; } </code></pre> <p>And here's my MOC:</p> <pre><code>- (NSManagedObjectContext *)managedObjectContext { if (_managedObjectContext != nil) { return _managedObjectContext; } NSPersistentStoreCoordinator *coordinator = [self persistentStoreCoordinator]; if (coordinator != nil) { NSManagedObjectContext* moc = [[NSManagedObjectContext alloc] initWithConcurrencyType:NSMainQueueConcurrencyType]; [moc performBlockAndWait:^{ [moc setPersistentStoreCoordinator: coordinator]; [[NSNotificationCenter defaultCenter]addObserver:self selector:@selector(mergeChangesFrom_iCloud:) name:NSPersistentStoreDidImportUbiquitousContentChangesNotification object:coordinator]; }]; _managedObjectContext = moc; _managedObjectContext.mergePolicy = [[NSMergePolicy alloc] initWithMergeType:NSMergeByPropertyObjectTrumpMergePolicyType]; } return _managedObjectContext; } </code></pre> <p>I'm unsure why it's returning a different MOC. Any thoughts?</p>
 

Querying!

 
Guidance

SQuiL has stopped working due to an internal error.

If you are curious you may find further information in the browser console, which is accessible through the devtools (F12).

Reload