NSNotifications лучше подходят для информирования о событиях.
е говоря, когда значение свойства изменяется, я должен обновить некоторую логику в моем коде, например:
- (void)setProp:(NSString *)theProp
{
if (prop != theProp){
[prop release];
prop = [theProp copy];
[self myLogic];
}
}
или же:
- (void)observeValueForKeyPath:(NSString *)keyPath
ofObject:(id)object
change:(NSDictionary *)change
context:(void *)context
{
if ([keyPath isEqualToString:@"prop"]){
[self myLogic];
}
}
Какой путь самый лучший и ПОЧЕМУ?
РЕДАКТИРОВАТЬ: я префект второй способ, потому что я не знаю, что сгенерирует компилятор@synthesize
Директива для меня, я предпочитаю верить, что компилятор умнее, чем моя реализация сеттера, поэтому я не буду что-то ломать.