前言
本文主要介紹了關(guān)于Swift通知中心(NotificationCenter)使用的相關(guān)內(nèi)容,NotificationCenter是Swift中一個(gè)調(diào)度消息通知的類,采用單例模式設(shè)計(jì),實(shí)現(xiàn)傳值、回調(diào)等作用。
通知的作用還是挺強(qiáng)大的,對于兩個(gè)不相關(guān)的控制器之間,要進(jìn)行信息的傳遞,使用通知是個(gè)不錯(cuò)的選擇,下面話不多說了,來一起看看詳細(xì)的使用方法吧。
1、添加通知
/// 通知名 let notificationName = "XMNotification" /// 自定義通知 NotificationCenter.default.addObserver(self, selector: #selector(notificationAction), name: NSNotification.Name(rawValue: notificationName), object: nil)
2、設(shè)置監(jiān)聽方法
/// 接受到通知后的方法回調(diào) @objc private func notificationAction(noti: Notification) { /// 獲取鍵盤的位置/高度/時(shí)間間隔... print(noti) }3、在通知用完后及時(shí)銷毀
/// 析構(gòu)函數(shù).類似于OC的 dealloc deinit { /// 移除通知 NotificationCenter.default.removeObserver(self) }4、發(fā)送通知
/// 發(fā)送簡單數(shù)據(jù) NotificationCenter.default.post(name: NSNotification.Name.init(rawValue: "XMNotification"), object: "Hello 2017") /// 發(fā)送額外數(shù)據(jù) let info = ["name":"Eric","age":21] as [String : Any] NotificationCenter.default.post(name: NSNotification.Name.init(rawValue: "XMNotification"), object: "GoodBye 2016", userInfo: info)
通知在系統(tǒng)中的運(yùn)用,監(jiān)聽鍵盤的變動(dòng)
/// 通知中心監(jiān)聽鍵盤的變化 #selector(notificationAction), name: NSNotification.Name.UIKeyboardWillChangeFrame, object: nil)
有關(guān)鍵盤的其他通知名稱
public static let UIKeyboardWillShow: NSNotification.Name /// 鍵盤顯示完畢 public static let UIKeyboardDidShow: NSNotification.Name /// 鍵盤將要隱藏 public static let UIKeyboardWillHide: NSNotification.Name /// 鍵盤隱藏完畢 public static let UIKeyboardDidHide: NSNotification.Name /// 鍵盤將要改變自身的frame public static let UIKeyboardWillChangeFrame: NSNotification.Name /// 鍵盤frame改變完成 public static let UIKeyboardDidChangeFrame: NSNotification.Name
總結(jié)
以上就是這篇文章的全部內(nèi)容了,希望本文的內(nèi)容對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,如果有疑問大家可以留言交流,謝謝大家對VEVB武林網(wǎng)的支持。
新聞熱點(diǎn)
疑難解答
圖片精選