避免使用addObserverForName方法给自己埋坑
挖坑准备工作
之前使用通知喜欢直接在viewDidLoad
里面添加下面方法
|
|
在dealloc
方法里也习惯添加
|
|
来释放监听的对象
但是这种方法不是很直观
,所以后来想用通知的block方法,由于使用不规范,埋下了很多坑,现在来填坑。先说下坑在哪里,通知的block方法如下:
|
|
挖坑过程
在viewDidLoad
直接使用上述block方法,不接收其返回值,在dealloc
方法里面只添加
|
|
挖坑结果
发出一个通知,可以接收到多次
填坑攻略
我还是用代码来展示吧,先定义一个 id 对象 observer 用来接收block方法的返回值
|
|
释放的时候直接removeObserver:self
是没有效果的,而应该使用下列方法
|
|
总结
addObserverForName
和 addObserver
的释放是不一样。