通知(NSNotifacationCenter):是我们在开发过程中经常使用到的一个类,常用于传值处理或其他一些操作,这里我就不再累述。下面是本人在开发过程中,用到通知传值的一些体会,第一篇CSDN博客,对于不太懂通知传值处理界面操作的人,可以看下,很好理解!因为我写得很简单粗暴
一、你是否会遇到这样类似的情况:
比如在一个TableViewController里面,自定义了一个Cell,这个Cell里面比如有一张图片,你需要点这张图片,然后执行下面的操作(比如跳转下一个Ctl等等);像这样或者类似的情况,我们就可以用到强大的通知传值了!
二、NSNotifacationCenter怎么用?
诸如上面的抛出的问题,或者类似的,你可以自己想象,我们知道可以用NSNotifacationCenter传值来解决,用法如下:
分3步,每一步只需要一行代码就搞定:
1.注册通知;
2.发送通知;
3.移除通知;
好了,记住这3步之后就好办了,下面分别来讲:
1.注册通知:这里我们要搞清楚是谁要通知谁,谁又是谁的通知传达者,说得有点拗口,我自己都晕了 简单点,说话的方式简单点,你又不是个。。。好吧
简单点说:对于上面抛出的问题,我们需要点击自定义cell上的一张图片,来让Ctl跳转;那么,我们就要让ctl来接受这个通知,让cell来发送这个通知!这点肯定没疑问吧!
所以,首先我们就要注册这个通知:看图1:
注意:这里注册通知是在controller里面的,不是在cell里面的哦,至于注册写在哪里就要看自己的实际情况,一般卸载ViewDidLoad、ViewWillAppear里面都没问题。
2.发送通知:cell发送这个点击时间的通知,当然就是写在cell里面咯:看图2:
注意:这里的通知名字"ComboImg2ClickNotice"必须要和注册的通知名字一致!
3.移除通知:通知注册了就一定要移除,养成这个好习惯吧!不然可能会出现你想象不到的bug!既然注册通知是在controller里面注册的,移除也一定是在controller里面移除 咯!具体些在哪里同样要看你自己的需求,一般情况的话写在dealloc里面就好,看图3:
注意:当然有时也要看自己的需求,比如有个很奇怪的需求:还是上面抛出的问题,只是现在当第一次点击图片完成跳转下一个界面,然后返回上一个界面后,要求第二次点 击,不让再响应这个通知,也就是说不会再跳转了。那么,这里我们就可以灵活运用移除通知了,移除就不能再写在dealloc里面了,就要把移除通知写在viewDiddisAppear里面了!
总结:这里只是本人在开发过程中遇到的通知的基础用法之一,写得很少,很简单,相信网络上也有一大堆类似好文章,向大家推荐一篇http://www.jianshu.com/p/a4d519e4e0d5 最后,在本人拙劣的文笔下面,如果有人能看懂,甚至说有幸能帮助到新手,那只然是最好不过了!也是第一次在CSDN 上写博文,望包涵!
---------------------------不忘初心,方得始终------------------------------