Я не совсем уверен, что вы намерены делать из того, что, как я понимаю, вы изменяете контекст управляемого объекта в одном контроллере представления, и вы хотите, чтобы результат был виден в других контроллерах представления, это правильно ?. В любом случае, решение для этого состоит в том, чтобы прослушать NSManagedObjectContextDidSaveNotification (который отправляется, когда контекст сохранен) и зарегистрировать в качестве наблюдателя контроллер представления, на который вы хотите повлиять:
NSNotificationCenter *dnc = [NSNotificationCenter defaultCenter];
[dnc addObserver:myController selector:@selector(updateTable:) name:NSManagedObjectContextDidSaveNotification object:controller.context];
Таблица обновления в контроллере myController селектора может выглядеть примерно так:
- (void)updateTable:(NSNotification *)saveNotification
{
if (fetchedResultsController == nil)
{
NSError *error;
if (![[self fetchedResultsController] performFetch:&error]) {
//Update to handle the error appropriately.
NSLog(@"Unresolved error %@, %@", error, [error userInfo]);
exit(-1); // Fail
}
}
else
{
NSManagedObjectContext *context = [fetchedResultsController managedObjectContext];
// Merging changes causes the fetched results controller to update its results
[context mergeChangesFromContextDidSaveNotification:saveNotification];
[self.tableView reloadData];
}
Надеюсь, это поможет.
-Oscar