監聽和通知

2021-07-12 07:40:16 字數 585 閱讀 6437

通知中心(基於觀察者模式)屬於foundation框架;

通知(本地通知、推送通知)屬於uikit框架;

通知中心是ios程式內部間的一種訊息廣播機制,主要解決程式內部不同物件間解耦;基於觀察者模式,不能跨應用程式程序通訊,通知中心接收到訊息之後會以廣播的形式通知所有監聽者。通知中心的本質是監聽乙個字串。移除通知一般在***銷毀之前取消註冊。

當應用程式啟動後、進入後台、進入前台、獲得焦點、失去焦點、視窗大小改變、隱藏等都會傳送通知。

通知中心是同步的,目的是為了保證所有的監聽者都對通知做出響應。

通知中心是一種低耦合設計,和**模式有類似之處。通知中心和**的區別:

**是一對一的,可通過**指標呼叫selector方法

通知中心是一對多的,只要接收到訊息,會以廣播的形式,通知所有的監聽者

通知中心發布通知的物件不需要知道誰是監聽者,發布物件和監聽者之間的耦合度很低

監聽者需要知道通知的名詞字串,若發布者有傳遞userinfo字典,監聽者同時需要知道字典的鍵名

通知監聽方法不能有返回值

**可以有返回值

**的**布局結構較清晰,不像通知(監聽)一樣隨處都可新增監聽

UI 監聽和響應鍵盤通知

問題 通過text field或text view等ui元件,可以讓使用者通過鍵盤輸入文字內容,不過當鍵盤顯示在螢幕上時,會遮擋住部分ui,如何避免遮擋發生呢?1.ios 發布了很多關於螢幕上鍵盤的通知。下面列出了這些通知及相關介紹 uikeyboardwillshownotification 當鍵...

autojs通知欄 監聽通知欄失敗,請教大佬!

該樓層疑似違規已被系統摺疊 隱藏此樓檢視此樓 這個是自帶的監控通知欄示例,執行之後會有錯誤提示,請問各位大佬,這個是什麼情況?auto events.observenotification events.onnotification function notification printnotifi...

ReactNative實現通知監聽事件

事例1 只在rn裡面傳送和接受訊息。a介面 import from react native componentdidmount componentwillunmount b介面 import from react native 呼叫事件通知 deviceeventemitter.emit name...