这里主要是对比一下2中监听方式
第一种:
发送通知(参数的组合实质就是一个NSNotification)
NSNotificationCenter.defaultCenter().postNotificationName("oneNotification", object: "liyang", userInfo: ["li":"yang"])
监听通知
NSNotificationCenter.defaultCenter().addObserver(self, selector: #selector(CommentDegreeShowVC.noticeAcion(_:)), name: "oneNotification", object: nil) //object必须为空(否则监听不了),暂时不清楚这个参数的意义。
移除通知
NSNotificationCenter.defaultCenter().removeObserver(self)
第二种:
发送通知(参数的组合实质就是一个NSNotification)
NSNotificationCenter.defaultCenter().postNotificationName("oneNotification", object: "liyang", userInfo: ["li":"yang"])
监听通知
var observe = NSNotificationCenter.defaultCenter().addObserverForName("oneNotification", object: nil, queue: NSOperationQueue.mainQueue()) { (n:NSNotification) in
print("\(self)我收到通知了:object:\(n.object),userInfo:\(n.userInfo)")
}
移除通知
NSNotificationCenter.defaultCenter().removeObserver(self.observe)
注意:self.observe == observe
mark:上面的移除方式注意配对使用,否则无效
EventBox是基于第二种的使用
网友评论