Tôi có một lớp NSManagedObject
mà tôi muốn ghi đè lên một setter nhưng tôi đã nói rằng thực hành tốt là không sửa đổi tệp lớp được tạo tự động và tạo danh mục để thay thế chúng. bởi vì nếu bạn thay đổi mô hình và tạo lại tệp, bạn sẽ mất tất cả các bổ sung của mình).Overriding property setter trong một thể loại lớp
Nếu tôi thực hiện một phương pháp cho setter trong một thể loại, nó chắc chắn chạy phương pháp (thử nghiệm với NSLog), nhưng tôi không biết làm thế nào để gán giá trị tài sản thực tế. Thông thường, tôi muốn tổng hợp các tài sản sử dụng
@synthesize finished = _finished;
để tôi có thể truy cập vào bất động sản trong setter sử dụng _finished
, như vậy:
- (void)setFinished:(NSNumber *)finishedValue {
_finished = finishedValue;
self.end_time = [NSDate date];
}
nhưng nơi có tài sản được xác định trong NSManagedObject
điều này dường như không thể.
Tại sao isn ' t nó có thể? – trojanfoe
Bạn gặp lỗi nói rằng bạn không thể tổng hợp trong một danh mục – Dan2552
Điều này không trả lời câu hỏi, nhưng đưa bạn đến nơi bạn đang đi theo một cách khác: http://compileyouidontevenknowyou.blogspot.com/2012/06/adding -properties-to-class-you-dont.html –