1.NSNotification通知的基本使用
发布通知:
/** 创建一个名为notificationName的通知,发送者为self */
NSNotification *notification = [NSNotification notificationWithName:@"notificationName" object:self];
/** 发布通知 */
[[NSNotificationCenter defaultCenter] postNotification:notification];
/** 发布一个名为notificationName的通知,发送者为self,这一条语句与上面两句的效果相同 */
[[NSNotificationCenter defaultCenter] postNotificationName:@"notificationName" object:self];
监听通知:
/** 让self可以监听任意对象(nil)发布的名为@“notificationName”的通知,收到通知以后执行toDoNext:方法 */
[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(toDoNext:) name:@"notificationName" object:nil];
移除监听:
/** 让self停止监听任意对象(nil)发布的名为@“notificationName”的通知 */
[[NSNotificationCenter defaultCenter] removeObserver:self name:@"notificationName" object:nil];
2.KVO在性能方面的弊端
使用KVO方法监听属性的改变时,会自动创建一个监听对象的子类,因此当有大量属性需要监听时,将会有较多额外的性能损耗