【发布时间】:2013-03-07 13:43:18
【问题描述】:
我尝试使用类别将属性添加到类中。属性访问器看起来像:
- (NSArray *)thumbnails {
return objc_getAssociatedObject(self, kThumbnails);
}
- (void)setThumbnails:(NSArray *)thumbnails {
[self willChangeValueForKey:@keypath(self.thumbnails)];
objc_setAssociatedObject(self, kThumbnails, thumbnails, OBJC_ASSOCIATION_RETAIN);
[self didChangeValueForKey:@keypath(self.thumbnails)];
}
很遗憾,没有触发任何通知。甚至可以将符合 KVO 的属性添加到类别中吗?
【问题讨论】:
-
显示注册观察者和处理通知的代码。
-
观察者注册的代码是问题所在。它是在通知被触发后注册的。
标签: ios objective-c key-value-observing