美文网首页
NotificationCenter

NotificationCenter

作者: 酸汤猪脚西米露 | 来源:发表于2018-07-25 18:59 被阅读22次

    KVO 观察者模式通过ios中通过NotificationCenter来实现一对多的依赖关系 当被观察者发生变化时 会通知观察者 

    NotificationCenter相较于delegate 和block 优点在于很大程度上避免了页面之中的循环引用的问题并且 可以让你轻松的跨层传递信息

    Each running app has a default notification center, and you can create new notification centers to organize communications in particular contexts.

    每一个于行的app都有一个默认的notificationCenter (NotificationCenter.default)

    1.关于监听者

    通过addObserver(_:selector:name:object:) 或addObserver(forName:object:queue:using:)注册一个监听者 (由于使用了不安全引用(unsafe reference)和弱引用 (weak reference)  在iOS 9以后不需要手动移除通知)但使用addObserver(forName:object:queue:using:)添加的通知 由于使用的是strong 所以依旧需要手动在通知中心中移除

    所有注册了监听的对象都会在通知发送的时候 收到响应的通知

    2.发送通知

    通过post(name:object:userInfo:) 或 post(name:object:)来发送通知 发送的通知是可以通过object传递参数 响应的在添加监听者时 也可以通过object来接受post过来的参数

    3.举个栗子

    言简意赅地卖个代码萌

    不知道怎么插入代码.png

    相关文章

      网友评论

          本文标题:NotificationCenter

          本文链接:https://www.haomeiwen.com/subject/curmmftx.html