在使用NSNotificationCenter在各个界面进行数据传输的时候,遇到一个很菜的问题。比如我在一个ViewController的ViewDidLoad方法中注册了一个通知,当收到通知后我在通知的处理方法中弹出了一个AlertView。但是很蛋疼的是,第一次进入这个视图控制器Alert了一次,第二次进入这个视图控制器的时候,收到通知Alert了2次。真是很蛋疼啊。。。
最后终于解决了这个很菜的问题。原因是这样,我们在使用NSNotificationCenter的时候,在非ARC环境下,一定要在dealloc方法中将观察者(self)移除。否则会发生这种重复接到相同通知的问题。在ARC环境下,只需要在ViewWillDisappear中将观察者移除就可以啦啦。。。