NSNotification
在传值层数较多,或需要用到广播(一个发送,多人接收)的时候,可以选用通知。
鬼子进村了,村门口就一个大钟,有人去敲响,全村人就知道了,然后躲起来。
程序例子:
当用户登录成功以后,发个通知“登录成功了”,相应的用户个人中心、用户好友列表、只要和用户有关的数据,全都变了。
为了使用通知,我们来创建几个类,进行模拟用户登录的情况:
, UserCenterViewController
, ModifyUserViewController
,这些类都继承于NSObject
。
要完整的写一个通知,分为四个步骤:
- 接收通知;
- 接收到后做出相应处理;
第二步,登录成功后,需要在UserCenterViewController
、ModifyUserViewController
中接收通知,并处理登录成功后的逻辑:
同样,中的接收方式与UserCenterViewController
相同,具体代码如下:
最后一步,通知的移除。对于通知的接受者来说,当接受者释放之前,必须移除通知。对象声明周期的最后一步,就是dealloc
方法,所以,通知的移除,一般写在dealloc
中。