Ensuring KVC Compliance上 该文件说:
-set<Key>:
方法的实现不应执行验证。
如果验证适合密钥,则您的类应实现-validate<Key>:error:
。
如果执行执行验证的setXXX方法
,将会发生使用kvo时是否会导致性能问题?
答案 0 :(得分:1)
如果没有别的,如果setter正在进行验证(例如,如果验证失败则不设置值),当最终没有发生任何更改时,您将最终获得KVO通知,通知您更改。无论setter是否成功执行其功能,都会在调用setter时发布KVO通知。