我定义了两个具有相应 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 是否自动依赖于属性本身?
最佳答案
根据文档,您没有将“title”属性放入集合中。我认为默认情况下所有属性都依赖于它们自身。
关于iphone - 依赖于自身的依赖属性的 KVO,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5975400/