Tôi cần phải viết một phương thức setter tùy chỉnh cho một trường (chúng tôi sẽ gọi nó là foo
) trong lớp con của tôi là NSManagedObject
. foo
được xác định trong mô hình dữ liệu và Xcode đã tự động phát hiện các trường @property
và @dynamic
trong các tệp .h và .m tương ứng.Phương thức setter tùy chỉnh trong Core-Data
Nếu tôi viết setter của tôi như thế này:
- (void)setFoo: (NSObject *)inFoo {
[super setFoo: inFoo];
[self updateStuff];
}
sau đó tôi nhận được một cảnh báo trình biên dịch trên các cuộc gọi đến super
.
Ngoài ra, nếu tôi làm điều này:
- (void)setFoo: (NSObject *)inFoo {
[super setValue: inFoo forKey: inFoo];
[self updateStuff];
}
sau đó tôi kết thúc trong một vòng lặp vô hạn.
Vậy cách tiếp cận chính xác để viết setter tùy chỉnh cho lớp con của NSManagedObject là gì?
Điểm tốt @malhal - Tôi không biết sự thay đổi này trong iOS 10. –