Результаты обновления NSFetchedResultsController без новой выборки

Я действительно опоздал на эту вечеринку, но вот как я это сделал:

SELECT SCN_TO_TIMESTAMP(MAX(ora_rowscn)) from myTable;

Это достаточно близко для моих целей.

7
задан Tim 15 June 2009 в 02:59
поделиться

2 ответа

Я обнаружил, что моя проблема заключалась не в том, что объекты не обновлялись, а в том, что экземпляр NSFetchedResultsController, который у меня был, не обновлял должным образом заголовки индекса своих разделов, и поэтому я не мог видеть результаты в моем UITableView.

4
ответ дан 6 December 2019 в 23:12
поделиться

просто есть проблема, и да, очевидно, использование уведомлений - это единственный способ сделать обновление tableview, когда таблица использует контроллер nsfetchedresults.

как в образце базовых данных:
step1: добавьте наблюдателя в NSNotificationCenter для уведомления NSManagedObjectContextDidSaveNotification
step2: сохраните ваш контекст (триггер уведомления в ваш селектор)
step3: в вашем методе селектора: объедините изменения в контексте с использованием метода mergeChangesFromContextDidSaveNotification
step4: удалить наблюдателя из центра уведомлений.

Лично я хотел бы обойти сертификат уведомлений и только сообщить контексту обновлять себя, черт возьми :)

7
ответ дан 6 December 2019 в 23:12
поделиться
Другие вопросы по тегам:

Похожие вопросы: