通知设计模式实现之猜想

话不多,今天就是心血来潮来写一点东西,就写通知设计模式实现的猜想吧!在此之前没看过什么网上的各种大牛的博文,如有雷同万分荣幸!另外,也不知道知道通知设计模式实现原理是什么,只是这有办法实现相同的功能!还是一如既往分析代码吧!

1.@property (class, readonly, strong) NSNotificationCenter *defaultCenter;
2.- (void)postNotificationName:(NSNotificationName)aName object:(nullable id)anObject;
3.- (void)addObserver:(id)observer selector:(SEL)aSelector name:(nullable NSNotificationName)aName object:(nullable id)anObject;
4.- (void)removeObserver:(id)observer;

上面是 iOS的API,1 ->单例设计模式,上边说过的,这里就不赘述了;2->的参数NSNotificationName 值得一说,是为了让多个 同志共存 ;3->先说参数吧 observer 的存在是为了执行 aSelector, aName是为了查找 是否注册了通知 ;4-> 这个好像也没什么好说的!上面解释了这些东西存在的意义,那么下面的谈谈实现吧!我的思路是这样的,运用Runtime通过observer 对象从方法列表中找的aSelector 的 IMP 并且执行!

其实,就是想明白怎么处理的,对自己是非常有帮助的,不论是对API的理解,还是以后代码的设计!

若有不对的地方,敬请指点和指指点点!要是觉得还可以的话,请点赞收藏!

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 前序 通知在我看来,有好处也有坏处。用好了那就是翻云复海,上天入地,无所不能。什么传值、传递动作就是一句话:天气飘...
    沉默学飞翔阅读 13,535评论 30 38
  • 概述 在多数移动应用中任何时候都只能有一个应用程序处于活跃状态,如果其他应用此刻发生了一些用户感兴趣的那么通过通知...
    莫离_焱阅读 11,592评论 1 8
  • 转至元数据结尾创建: 董潇伟,最新修改于: 十二月 23, 2016 转至元数据起始第一章:isa和Class一....
    40c0490e5268阅读 5,806评论 0 9
  • 代理 代理设计模式的作用: 1.A对象监听B对象的一些行为,A成为B的代理 2.B对象想告诉A对象一些事...
    Hevin_Chen阅读 1,768评论 0 0
  • 不知道是不是人品的问题,跑到上海来找工作,在网上投了建立后,就直接跑到人家公司去直接找人事面试。因为这是效率比较高...
    爱妞的大爷阅读 2,962评论 0 1