依赖属性的KVO依赖于自身

时间:2011-05-12 08:35:57

标签: iphone cocoa dependency-properties key-value-observing

我已经用相应的ivars定义了两个属性并合成它们:

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

现在,在我的实现中,我为title提供了以下自定义getter:

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

因此title属性取决于title属性本身和person属性。我想让这个类KVO兼容,所以我补充说:

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

现在我的问题是:我是否还必须将@"title"添加到集合中,以确保同时观察到title属性的更改?如果是,这不会产生无限循环吗?

或者KVO是否自动依赖于财产本身?

1 个答案:

答案 0 :(得分:1)

根据文档,您不会将'title'属性放在集合中。我认为假设所有属性默认都依赖于它们自己。