У меня есть приложение Mac с использованием NSPersistentDocument. Я хочу получить уведомление, когда объекты будут удалены, чтобы сохранить эту информацию с помощью Core Data. Поэтому я слушаю NSManagedObjectContextObjectsDidChangeNotification. Часто он вызывается мгновенно, когда объекты удаляются, но иногда он вызывается только после сохранения постоянного документа со всеми удаленными объектами, которые ранее не были уведомлены. Поскольку я хочу, чтобы пользователь напрямую экспортировал все существующие объекты (а не удаленные), что мне нужно сделать, чтобы мгновенно получать уведомление об удалении информации или мне нужно использовать ее по-другому?NSManagedObjectContextObjectsDidChangeNotification не всегда называется мгновенно
6
A
ответ
8
NSManagedObjectContextObjectsDidChangeNotification больше не выдается так часто или быстро с 10.7 по 10.6. Вы можете заставить Core Data выдавать уведомление (при условии, что есть изменения), вызвав -[NSManagedObjectContext processPendingChanges]
.
спасибо. Я хочу использовать это, когда данные удаляются из TableView, в качестве источника которого используется ArrayController. Могу ли я прерывать в другой части для хранения информации, которая мне нужна, или для вызова processPendingChanges? – Tobe
Вы можете наблюдать упорядоченные объекты на NSArrayController и выполнять там processPendingChanges. – Aderstedt
спасибо, соблюдая упорядоченные объекты и вызывающий процессPendingChanges отправляет уведомление мгновенно. Это то, что мне нужно. – Tobe