【发布时间】:2010-07-16 00:39:07
【问题描述】:
我认为自制的@property setter 应该是这样的:
-(void) setFoo:(Foo *)newFoo {
// Safeguards
// ...
[self willChangeValueForKey:@"foo"];
// Switcheroo
// ...
[self didChangeValueForKey:@"foo"];
}
但我在 Cocoa 开发时间比我长很多的人的博客文章中看到了很多代码,如下所示:
-(void) setFoo(Foo *)newFoo {
// Safeguards
// ...
// Switcheroo
// ...
}
所以我的问题是,我们需要调用 KVO 通知方法吗?或者,如果您使用的是现代运行时,它会在您更新私有 iVar 时神奇地完成吗?
【问题讨论】:
标签: objective-c cocoa key-value-observing