标签:io sp for on bs 代码 ad ef tt
键值编码(kvc) 键值监听(kvo)
setValue:属性值 forKey:属性名 没有找到相应成员变量会爆出异常(先是方法-成员变量-类内为name的成员变量) _成员变量名
valueForKey:属性名 没有找到相应成员变量会爆出异常(先是方法-成员变量-类内为name的成员变量)
方法名 下划线成员变量 成员变量
解决异常方法 重写 setValue: forUndefinedKey: 方法 和valueForUndefinedKey: 方法
处理nil 值 重写 setNilValueForKey :方法
处理复合型 用key路径 forKeyPath: valueForKeyPath:
其实比起性能来说。kvc操作没有getter 和 setter 方法的操作性能好 。 只是kvc操作简洁。能提炼通用性代码。
KVO (key value observing)键值监听
注册方式 addObserver: forKeyPath: option:context;
删除方式:removerObserver:forKeyPath 和 removerObserver:forKeyPath:context:
会调用 obserValueForKeyPath:ofObject:change:context: 需要重写改方法,以改变状态时用于回调。
标签:io sp for on bs 代码 ad ef tt
原文地址:http://www.cnblogs.com/chenlongjian/p/4154490.html