简介
NSNotification
是iOS开发中一种重要的设计模式,它的实质是程序内部提供的一种广播机制。把接受到的消息根据内部消息转发表,将消息转发给需要的对象。 GitHub Demo
特点
1. 一句话添加;
2. block方式回调;
3. 无需考虑内存泄露.
涉及知识点:
使用Notification最重要的就是要注意内存泄露问题, 在此工具中, 无需使用者考虑内存泄露的问题, 工具中的实现思路是:
1.建立NSObject的类别; (因为 NSObject 为顶级父类);
2.为NSObject添加一个数组(`helperObserverInfos`)的私有属性, 用来存储当前类(self)的所有Observer;
3.运用runtime动态关联属性, 将数组与self动态关联, 达到属性的拥有.
4.新建一个释放Observe的方法, 运用runtime, 将新建的方法与系统的dealloc方法内部实现交换, 达到移除Observers的目的.
实现代码:
@interface NSObject (BHNotificationHelper)