Opt*_*key 4 cocoa cocoa-bindings
随着我对KVO和KVC的了解越来越多,我变得很好奇 -
在访问setter方法时,NSObject如何提供自动KVO?
如果我使用名为setName的访问器创建一个新对象,
当有人打电话时,观察者如何得到通知
[obj setName:@"Mystery"];
感谢您的任何反馈
Rob*_*ier 11
我总是向人们解释"Cocoa中没有什么是神奇的东西;它只是代码." 但KVO与魔术接壤.它被称为isa-swizzling.您的类在运行时(任何人第一次观察到您)转换为动态生成的子类,该子类重载所有getter和setter.调用-class是连接到你并返回旧类,因此除非在调试器中直接查看isa指针,否则你将看不到魔术子类.
-class
isa
注意到KVO必须离奇是Cocoa启蒙的重要一步.恭喜.
键值观察实现细节
归档时间:
17 年,1 月 前
查看次数:
344 次
最近记录: