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 Директива для меня, я предпочитаю верить, что компилятор умнее, чем моя реализация сеттера, поэтому я не буду что-то ломать.

Ответы на вопрос(3)

Ваш ответ на вопрос