Ada*_*nst 5 cocoa key-value-observing
在Cocoa中,addObserver:forKeyPath:options:context:保留"既不是接收者,也不是观察员".因此我假设允许观察自我; 也就是说,做类似的事情是完全有效的
[self addObserver:self forKeyPath...]
只要你记得以selfdealloc作为观察者取消注册.
这个假设是否正确?
Bri*_*ter 12
是的,没有任何理由你不能观察自己.但就像你说的那样,像任何KVO观察一样,确保在被解除分配之前将自己作为观察者移除.
对于记录,如果您只是谈论一个简单的密钥,另一种方法是编写自定义setter并执行setter中所需的任何代码.这种风格使调用setter的全部效果变得更加明显.KVO方式虽然更灵活,但可以使用包含多个组件的关键路径.
| 归档时间: |
|
| 查看次数: |
3659 次 |
| 最近记录: |