6

NSPersistentDocument를 사용하는 Mac 응용 프로그램이 있습니다. 핵심 데이터를 사용하여이 정보를 저장하기 위해 개체가 삭제 된 경우 알림을 받고 싶습니다. 그래서 NSManagedObjectContextObjectsDidChangeNotification을 듣고 있습니다. 종종 객체가 삭제 될 때 즉시 호출되지만, 이전에 통지되지 않은 모든 삭제 된 객체와 함께 영구 문서가 저장된 후에 만 ​​호출되는 경우가 있습니다. 사용자가 삭제 된 정보를 저장하기 위해 즉각적으로 알림을 받으려면 어떻게해야합니까? 아니면 다른 방법으로 사용해야합니까?NSManagedObjectContextObjectsDidChangeNotification이 항상 즉시 호출되는 것은 아닙니다.

답변

8

NSManagedObjectContextObjectsDidChangeNotification은 더 이상 10.7에서 10.7과 같이 자주 또는 빠르게 발행되지 않습니다. -[NSManagedObjectContext processPendingChanges]으로 전화하여 Core Data가 강제로 통지를 보내도록 할 수 있습니다 (변경 사항이 있다고 가정).

+0

감사합니다. ArrayController를 소스로 가지는 TableView에서 데이터가 삭제 될 때 이것을 사용하고 싶습니다. 필요한 정보를 저장하거나 processPendingChanges를 호출하기 위해 다른 부분을 방해 할 수 있습니까? – Tobe

+0

NSArrayController에서 arrangedObjects를 관찰하고 거기에서 processPendingChanges를 수행 할 수 있습니다. – Aderstedt

+0

감사합니다. arrangedObjects를 관찰하고 processPendingChanges를 호출하면 즉시 알림이 전송됩니다. 그게 내가 필요한거야. – Tobe