我已经用相应的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是否自动依赖于财产本身?
答案 0 :(得分:1)
根据文档,您不会将'title'属性放在集合中。我认为假设所有属性默认都依赖于它们自己。