(2)实现监听方法。监听方法在Value(属性的值)发生变化的时候自动调用。
-
-(void) observeValueForKeyPath:(NSString *)keyPath
-
ofObject:(id)object
-
change:(NSDictionary *)change
-
context:(void *)context
-
其中,object指被监听的对象。change里存储了一些变化的数据,比如变化前的数据,变化后的数据。
3、通知
-
通知是iOS开发框架中的一种设计模式,内部的实现机制由Cocoa框架支持。
-
通知一般用于M、V、C的间的信息传递。像我在设置页面设置App皮肤。
-
M是modol模型 V是view视图 C是control控制器。
-
系统通知
//注册通知
-
[[NSNotificationCenter defaultCenter] addObserver:self
-
selector:@selector(didFinish:)
//didFinish:是方法名 self
(谁的)和 didFinish:确定方法
-
name:MPMoviePlayerPlaybackDidFinishNotification
-
object:nil];
-
selector是方法名
class是描述类的类
SEL method=@selector(方法名)
-
通知用完要移除
//移除通知
-
[[NSNotificationCenter defaultCenter] removeObserver:self
-
name:MPMoviePlayerPlaybackDidFinishNotification
-
object:nil];
总结
这一篇就介绍了iOS开发中比较有特色的两个机制:KVC和KVO
KVC:就是可以暴力的去get/set类的私有属性,同时还有强大的键值路径对数组类型的属性进行操作
KVO:监听类中属性值变化的