КВО для зависимой собственности в зависимости от себя - PullRequest
1 голос
/ 12 мая 2011

Я определил два свойства с соответствующими иварами и синтезировал их:

@property (nonatomic,copy) NSString* title;
@property (nonatomic,copy) NSString* person;

Теперь в моей реализации у меня есть следующий пользовательский геттер для title:

- (NSString*)title {
    return (person) ? person : [title capitalizedString];
}

Таким образом, свойство title зависит как от самого свойства title, так и от свойства person. Я хотел бы сделать этот класс KVO-совместимым, поэтому я добавил:

+ (NSSet*)keyPathsForValuesAffectingTitle {
    return [NSSet setWithObjects:@"person", nil];
}

Теперь мой вопрос: нужно ли также добавить @"title" к набору, чтобы убедиться, что изменения свойства title тоже наблюдаются? Если да, разве это не создает бесконечный цикл?

Или KVO автоматически зависит от самого свойства?

1 Ответ

1 голос
/ 07 октября 2011

Согласно документам, вы не помещаете свойство 'title' в набор.Я предполагаю, что предполагается, что все свойства по умолчанию зависят от самих себя.

...