2012-05-10 39 views
7

Tôi đang sử dụng CoreData và tự hỏi liệu tôi có thể mở rộng NSManagedObjects của mình bằng cách nào đó để thực hiện các công cụ tùy chỉnh (như xóa các tệp thuộc về cá thể này).Mở rộng phương thức xóa của NSManagedObject

Trong trường hợp của tôi, tôi có một vài thực thể CoreData và mỗi thực thể có thể có một thư mục hoặc đường dẫn tệp được lưu trữ trong thuộc tính. Nếu thực thể bị xóa, tôi muốn thực thể này tự lo việc xóa các tệp được tham chiếu.

Hành vi như vậy sẽ đặc biệt hữu ích khi kết hợp với quy tắc xóa "Cascade" khi xóa đối tượng sẽ xóa tất cả các thực thể con và tệp của chúng.

Nếu không có cơ chế như vậy, tôi sẽ viết một Danh mục cho từng thực thể có chứa một phương pháp xóa tùy chỉnh, bao gồm hành vi xếp tầng cho các thực thể có thể có con.

Bạn sẽ làm gì, có giải pháp thanh lịch cho vấn đề của tôi không? Điều này đã được thảo luận trước đây và tôi chỉ không tìm thấy nó?

Cảm ơn rất nhiều!

Paul

Trả lời

18

Bạn có thể làm sạch thêm ngay trước khi một đối tượng được xóa bằng cách ghi đè các phương pháp prepareForDeletion trong NSManagedObject lớp con của bạn.

+1

Hoàn hảo, có vẻ như tôi đang tìm kiếm từ khóa sai. Tôi sẽ thử nó sau ngày hôm nay. – Paul

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