6

Tôi có Ứng dụng Mac bằng cách sử dụng NSPersistentDocument. Tôi muốn được thông báo khi Object bị xóa để lưu thông tin này bằng cách sử dụng Core Data. Tôi đang nghe NSManagedObjectContextObjectsDidChangeNotification. Thường thì nó được gọi ngay lập tức khi các đối tượng bị xóa, nhưng đôi khi nó chỉ được gọi sau khi tài liệu liên tục được lưu với tất cả các đối tượng đã xóa không được thông báo trước đó. Bởi vì tôi muốn cho phép người dùng trực tiếp xuất tất cả các đối tượng hiện có (và không bị xóa nữa) tôi phải làm gì để được thông báo ngay lập tức để lưu thông tin xóa hoặc tôi phải sử dụng nó theo cách khác?NSManagedObjectContextObjectsDidChangeNotification không phải lúc nào cũng được gọi ngay lập tức

Trả lời

8

NSManagedObjectContextObjectsDidChangeThông báo không còn được phát hành thường xuyên hoặc nhanh chóng trên 10,7 như trên 10.6. Bạn có thể buộc Core Data phát hành thông báo (giả sử có thay đổi) bằng cách gọi -[NSManagedObjectContext processPendingChanges].

+0

cảm ơn cho đến nay. Tôi muốn sử dụng điều này khi dữ liệu bị xóa khỏi một TableView có một ArrayController như là nguồn của nó. Tôi có thể gián đoạn trong phần khác để lưu trữ thông tin tôi cần hoặc gọi processPendingChanges không? – Tobe

+0

Bạn có thể quan sát các layoutObject trên NSArrayController và thực hiện processPendingChanges ở đó. – Aderstedt

+0

cảm ơn, quan sát sắp xếpObject và gọi processPendingChanges gửi thông báo ngay lập tức. Đó là những gì tôi cần. – Tobe

Các vấn đề liên quan