首页 > 代码库 > 面向对象1
面向对象1
键值编码(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: 需要重写改方法,以改变状态时用于回调。
面向对象1
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。