在实际开发项目中,通知比较常用。
1.通知中心(NSNotificationCenter)实际是在程序内部提供了一种广播机制。把接收到的消息,根据内部的消息转发表,讲消息转发给需要的对象。第一步:在需要的地方注册要观察的通知,第二步:在某个地方发送通知。(发通知可能是我们自定义的,也可以是系统发出来的)。
在某个控制中需要观察某种通知,代码如下:
在需要发送通知的地方代码如下:
在注册观察通知的控制器的dealloc方法中移除要观察的通知。这是因为,当控制器因为某些原因比如内存问题而被销毁的时候,通知中心注册的改通知还是存在的,而其他有的地方发送该通知的时候,通知中心会继续转发,但是转发的对象已经不存在了,这时候就会崩溃。
最后,建议在viewDidLoad中注册通知,在dealloc中移除通知,没有移除通知好像好像有时候也没有崩溃。这是因为在viewController被销毁的时候,它帮我们调用了remove方法。想去证明的同学可以建立以个分类,覆盖系统的removeObserve方法,会发现在controller销毁的时候调用了我们重写remove方法。