Мне нужно сделать некоторые дополнительные вещи в методе сеттера. Но я получаю бесконечный цикл при этом:Переопределяющие сетки с дуговыми и динамическими свойствами
У меня есть основные данные объекта
@interface Transaction : NSManagedObject
@property (nonatomic, retain) NSDate * date;
@end
@implementation Transaction
@dynamic date;
-(void)setDate:(NSDate *)date
{
self.date = date;
//additional stuff omitted
}
Таким образом, в этом случае я получаю бесконечный цикл. Хорошо, так что я искал в сети и изменять свой код следующим образом и для каждой версии я получаю ошибки компилятора
Версия 1:
@interface Transaction : NSManagedObject
@property (nonatomic, retain) NSDate * date;
@end
@implementation Transaction
@dynamic date;
-(void)setDate:(NSDate *)date
{
self->date = date; //Error: Property 'date' found on object 'Transaction *'; did you mean to access it with the "." operator?
//additional stuff omitted
}
Версия 2:
@interface Transaction : NSManagedObject
@property (nonatomic, retain) NSDate * date;
@end
@implementation Transaction
@dynamic date = _date; //Error: Expected ';' after @dynamic
-(void)setDate:(NSDate *)date
{
_date = date;
//additional stuff omitted
}
Теперь я спрашиваю себя, как это сделать?
Он ломает КВО ... – AlexeyVMP
Вызов willChangeValueForKey до и после didChangeValueForKey держать КВО. – brodney