6

根据确保 KVC 合规性

对于属性或一对一关系的属性,这要求您的类:

  • 实现一个名为-<key>,的方法-is<Key>,或者有一个实例变量<key>or _<key>

将观察者添加到如下“FAKE”属性的最佳方法是什么?

@property (nonatomic, readonly) BOOL shortlisted; 

#pragma mark - Fake properties

- (BOOL)shortlisted
{
    return [self.provider isJobShortlisted:self];
}   
4

1 回答 1

14

依赖键

如果您只有一个键依赖于同一对象的另一个键,则可以覆盖+keyPathsForValuesAffectingValueForKey:。(另请参阅这篇文章了解常见的陷阱。)

KVO 文档包含有关依赖于其他对象的键的信息,但不幸的是,它看起来仅在 OS X(而不是 iOS)上具有内置支持。

手动通知

如果您要实现完全自定义的属性,KVO 文档中的手动更改通知部分包含您需要的所有信息。关键点是(引用文档):

于 2012-04-06T11:09:08.940 回答