加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

swift 快速奔跑的兔几 本节的内容是:用NSNotification发送通知

发布时间:2020-12-14 01:41:06 所属栏目:百科 来源:网络整理
导读:当发生了某事的时候,向相关应用程序广播通知通常会有所帮助。例如,当用户按下home键的时候,默认情况下只有应用程序委托会收到一条通知。但是,应用程序中的对象可能也希望获知类似的事件。这时候就要用到NSNotification类,它一个对象向其他任意对象发送
当发生了某事的时候,向相关应用程序广播通知通常会有所帮助。例如,当用户按下home键的时候,默认情况下只有应用程序委托会收到一条通知。但是,应用程序中的对象可能也希望获知类似的事件。

这时候就要用到NSNotification类,它一个对象向其他任意对象发送的广播消息,这些其他对象已经提前注册了要获得这些通知。通知由NSNotification管理,是一个管理通知发送的单一对象。

要注册通知的代码:
let notificationCenter = NSNotificationCenter.defaultCenter()

        let operationQueue = NSOperationQueue.mainQueue()
        // 注册申请通知UIApplicationDidEnterBackgroundNotification
        let applicationDidEnterBackgroundObserver = notificationCenter.addObserverForName(UIApplicationDidEnterBackgroundNotification,object: nil,queue: operationQueue) {
            (notification:NSNotification!) in
            print("hello")
        }
       // 取消对通知的注册
        notificationCenter.removeObserver(applicationDidEnterBackgroundObserver)
注意:如果没有取消对通知的注册,会留下孤悬通知处理器,这可能会导致内存浪费的,甚至会使得程序崩溃(哇啊啊)。因此一定要记得取消对通知处理器的注册。
还可以张贴自己的通知:
let myNotification = "myNotificationType"

        notificationCenter.postNotificationName(myNotification,object:nil)
通知类型实际上就是字符串啦

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读