Методы делегата NSFetchedResultsController не срабатывают после mergeChangesFromContextDidSaveNotification

Я просматривал сообщения, похожие на этот, но ни один не ответил на мою проблему.

Как и CoreDataBooks, я использую отдельный MOC для добавления и редактирования элементов и наблюдения за соответствующими уведомлениями, например:

- (void)addControllerContextDidSave:(NSNotification*)saveNotification {

  NSManagedObjectContext *context = [self.fetchedResultsController managedObjectContext];
  // Merging changes causes the fetched results controller to update its results
  [context mergeChangesFromContextDidSaveNotification:saveNotification];
  NSLog(@"merging changes in rootview");
}

Когда я выполняю сохранение, все происходит правильно. Отладка уведомления показывает правильный контекст, а отладка контекста показывает только что добавленный элемент. Сообщение журнала также печатается нормально. Но ничего не происходит. Ни один из методов делегата NSFetchedResultsController не запускается, и при этом не обновляется табличное представление.

Я не пробовал ни кешировать, ни очищать его. Я пробовал reloadData в tableView, но ничего.

Просматривал сообщения, похожие на этот, но ни один не дал ответа на мою проблему.

Как и CoreDataBooks, я использую отдельный MOC для добавления и редактирования элементов и наблюдаю за соответствующими уведомлениями, например:

- (void)addControllerContextDidSave:(NSNotification*)saveNotification {

  NSManagedObjectContext *context = [self.fetchedResultsController managedObjectContext];
  // Merging changes causes the fetched results controller to update its results
  [context mergeChangesFromContextDidSaveNotification:saveNotification];
  NSLog(@"merging changes in rootview");
}

Когда я делаю сохраните, соблюдается правильно. Отладка уведомления показывает правильный контекст, а отладка контекста показывает только что добавленный элемент. Сообщение журнала также печатается нормально. Но ничего не происходит. Ни один из методов делегата NSFetchedResultsController не запускается, и при этом не обновляется табличное представление.

Я не пробовал ни кешировать, ни очищать его. Я пробовал reloadData в tableView, но ничего.

Просматривал сообщения, похожие на этот, но ни один не дал ответа на мою проблему.

Как и CoreDataBooks, я использую отдельный MOC для добавления и редактирования элементов и наблюдаю за соответствующими уведомлениями, например:

- (void)addControllerContextDidSave:(NSNotification*)saveNotification {

  NSManagedObjectContext *context = [self.fetchedResultsController managedObjectContext];
  // Merging changes causes the fetched results controller to update its results
  [context mergeChangesFromContextDidSaveNotification:saveNotification];
  NSLog(@"merging changes in rootview");
}

Когда я делаю сохраните, соблюдается правильно. Отладка уведомления показывает правильный контекст, а отладка контекста показывает только что добавленный элемент. Сообщение журнала также печатается нормально. Но ничего не происходит. Ни один из методов делегата NSFetchedResultsController не запускается, и при этом не обновляется табличное представление.

Я не пробовал ни кешировать, ни очищать его. Я пробовал reloadData в tableView, но ничего. Отладка уведомления показывает правильный контекст, а отладка контекста показывает только что добавленный элемент. Сообщение журнала также печатается нормально. Но ничего не происходит. Ни один из методов делегата NSFetchedResultsController не запускается, и при этом не обновляется табличное представление.

Я не пробовал ни кешировать, ни очищать его. Я пробовал reloadData в tableView, но ничего. Отладка уведомления показывает правильный контекст, а отладка контекста показывает только что добавленный элемент. Сообщение журнала также печатается нормально. Но ничего не происходит. Ни один из методов делегата NSFetchedResultsController не запускается, и при этом не обновляется табличное представление.

Я не пробовал ни кешировать, ни очищать его. Я пробовал reloadData в tableView, но ничего. Когда я выхожу из приложения и перезапускаю его, все работает нормально.

ОБНОВЛЕНИЕ: Уведомление действительно содержит правильный контекст, так как его объект , который содержит правильный элемент, но в хэше userInfo нет ничего:

userInfo = {
  inserted = "{(\n)}";
  updated = "{(\n)}";
}

Таким образом, похоже, что в уведомлении нет ' В нем есть какие-либо изменения, несмотря на то, что контекст с измененным элементом был правильным .... хмммм.

6
задан Christoph 23 October 2010 в 16:07
поделиться