自定义制定者可以打破KVO模式吗?打破保留或复制模式?

Dra*_*aco 0 properties objective-c key-value-observing

在Objective-C中,我想知道自定义setter是否会覆盖KVO支持(willChangeValueForKey:和didChangeValueForKey;)并且我是否需要在自定义setter中明确包含对这些的调用?

保留和复制怎么样?我是否需要明确地包含发布并保留或复制具有保留或复制属性(对于非ARC代码)的属性的setter?

and*_*n22 5

如果您的访问者采用标准格式(-setFoo:-foo),KVO将自动运行.但是,保留并复制,您需要在自定义访问器中管理自己.

这是因为保留和复制是合成访问器的一部分,而KVO仅基于方法名称.点击此处查看符合KVO标准的方法命名的完整说明.