Мне нужно написать собственный метод setter для поля (мы будем называть его foo
) в моем подклассе NSManagedObject
. foo
определяется в модели данных, и Xcode имеет автогенерированные поля @property
и @dynamic
в файлах .h и .m соответственно.
Если я напишу свой сеттер следующим образом:
- (void)setFoo: (NSObject *)inFoo {
[super setFoo: inFoo];
[self updateStuff];
}
то я получаю предупреждение компилятора при вызове super
.
В качестве альтернативы, если я это сделаю:
- (void)setFoo: (NSObject *)inFoo {
[super setValue: inFoo forKey: inFoo];
[self updateStuff];
}
тогда я заканчиваю бесконечный цикл.
Итак, каков правильный подход к написанию пользовательского установщика для подкласса NSManagedObject?