6

Ho un'applicazione Mac che utilizza un NSPersistentDocument. Voglio ricevere una notifica quando gli oggetti vengono cancellati per salvare queste informazioni utilizzando i dati principali. Quindi sto ascoltando NSManagedObjectContextObjectsDidChangeNotification. Spesso viene chiamato istantaneamente quando gli oggetti vengono cancellati, ma a volte viene chiamato solo dopo il salvataggio del documento permanente con tutti gli oggetti cancellati che non sono stati notificati prima. Perché voglio che l'utente esporti direttamente tutti gli oggetti esistenti (e non più cancellati) cosa devo fare per essere immediatamente informato per salvare le informazioni di cancellazione o devo usarlo in un altro modo?NSManagedObjectContextObjectsDidChangeNotification non sempre chiamato all'istante

risposta

8

NSManagedObjectContextObjectsDidChangeNotification non viene più rilasciato frequentemente o rapidamente su 10.7 come su 10.6. È possibile forzare Core Data a emettere la notifica (supponendo che ci siano cambiamenti) chiamando -[NSManagedObjectContext processPendingChanges].

+0

grazie finora. Voglio usarlo quando i dati vengono cancellati da un TableView che ha un ArrayController come origine. Posso interrompere in un'altra parte per memorizzare le informazioni di cui ho bisogno o per chiamare processPendingChanges? – Tobe

+0

È possibile osservare gli oggetti disposti sul NSArrayController ed eseguire ProcessPendingChanges lì. – Aderstedt

+0

grazie, osservando arrangedObjects e chiamando processPendingChanges invia la notifica all'istante. Questo è quello di cui avevo bisogno. – Tobe

Problemi correlati