В конце каждого события в приложении AppKit CoreData будет запускать -processPendingTransactions для вас.
Одним из побочных эффектов этого является то, что если вы зарегистрировались в NSManagedObjectContext для получения уведомлений об изменениях, вам будут звонить в конце каждого события.
Так, например, в вашем обработчике уведомлений вы можете просто позвонить и сообщить контекст для сохранения.
Тем не менее, вы можете быть параноидально относиться к сохранению контекста, находясь в режиме обратного вызова из этого же контекста, поэтому вам, вероятно, будет лучше, если вы выполните executeSelector: @selector: @selector (save :) afterDelay: нажать кнопку save до тех пор, пока не завершится -processPendingTransactions.
Вы можете даже сделать предыдущую отмену в селекторе -save: и иметь задержку, равную 5 секундам, поэтому, если пользователь или приложение находится в середине группы изменений, они все объединятся в одно сохранение.
И, собственно, именно так работала Delicious Library 1.0-1.09.
-Wil