码迷,mamicode.com
首页 > 其他好文 > 详细

面向对象1

时间:2014-12-10 00:22:43      阅读:156      评论:0      收藏:0      [点我收藏+]

标签: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:  需要重写改方法,以改变状态时用于回调。

 

面向对象1

标签:io   sp   for   on   bs   代码   ad   ef   tt   

原文地址:http://www.cnblogs.com/chenlongjian/p/4154490.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!