探索ios開發(fā)中的消息傳遞機制

探索ios開發(fā)中的消息傳遞機制

ID:27801888

大小:516.79 KB

頁數(shù):13頁

時間:2018-12-06

探索ios開發(fā)中的消息傳遞機制_第1頁
探索ios開發(fā)中的消息傳遞機制_第2頁
探索ios開發(fā)中的消息傳遞機制_第3頁
探索ios開發(fā)中的消息傳遞機制_第4頁
探索ios開發(fā)中的消息傳遞機制_第5頁
資源描述:

《探索ios開發(fā)中的消息傳遞機制》由會員上傳分享,免費在線閱讀,更多相關(guān)內(nèi)容在學術(shù)論文-天天文庫。

1、探索iOS開發(fā)中的消息傳遞機制每個應用程序或多或少,都由?些松耦合的對彖構(gòu)成,這些對彖彼此z間要想很好的完成任務,就需要進行消息傳遞。本文將介紹所有町用的消息傳遞機制,并通過示例來介紹這些機制在蘋果的Framework中如何使用,同吋,還介紹了一些最佳實踐建議,告訴你什么時機該選擇使用什么機制。雖然這一期的主題是關(guān)于FoundationFramework的,不過本文中還介紹了一些超出FoundationFramework(KVO和Notification)范圍的一些消息傳遞機制,另外還介紹了delegation,blockfltarget-action。大多數(shù)情況下,消息傳

2、遞該使川什么機制,是很明確的了,當然了,在某些情況下該使用什么機制并沒有明確的答案,需要你親自去嘗試一下。本文中,會經(jīng)常提及接收者[recipient]和發(fā)送者[sender]o在消息傳遞機制中具體是什么意思,我們可以通過一個示例來解釋:一個tableview是發(fā)送者,而它的delegate就是接收者。CoreDatamanagedobjectcontext是notification的發(fā)送者,而獲取這些notification的主體則是接收者。一個滑塊(siider)是action消息的發(fā)送者,而在代碼里血対應著實現(xiàn)這個action的responder就是接收者。対象中的某

3、個屬性支持KVO,那么誰修改這個值,誰就是發(fā)送者,對應的觀察者(observer)則是接收者??捎玫臋C制首先我們來看看每種機制的具體特點。在下一節(jié)屮,我會結(jié)合一個流程圖來介紹如何在具體情況下,選擇正確的消息傳遞機制。最示,將介紹一些來蘋果Framework中的示例,并會解釋在某種確定情況下為什么要選擇固定的機制。探索iOS開發(fā)中的消息傳遞機制每個應用程序或多或少,都由?些松耦合的對彖構(gòu)成,這些對彖彼此z間要想很好的完成任務,就需要進行消息傳遞。本文將介紹所有町用的消息傳遞機制,并通過示例來介紹這些機制在蘋果的Framework中如何使用,同吋,還介紹了一些最佳實踐建議,告訴

4、你什么時機該選擇使用什么機制。雖然這一期的主題是關(guān)于FoundationFramework的,不過本文中還介紹了一些超出FoundationFramework(KVO和Notification)范圍的一些消息傳遞機制,另外還介紹了delegation,blockfltarget-action。大多數(shù)情況下,消息傳遞該使川什么機制,是很明確的了,當然了,在某些情況下該使用什么機制并沒有明確的答案,需要你親自去嘗試一下。本文中,會經(jīng)常提及接收者[recipient]和發(fā)送者[sender]o在消息傳遞機制中具體是什么意思,我們可以通過一個示例來解釋:一個tableview是發(fā)送

5、者,而它的delegate就是接收者。CoreDatamanagedobjectcontext是notification的發(fā)送者,而獲取這些notification的主體則是接收者。一個滑塊(siider)是action消息的發(fā)送者,而在代碼里血対應著實現(xiàn)這個action的responder就是接收者。対象中的某個屬性支持KVO,那么誰修改這個值,誰就是發(fā)送者,對應的觀察者(observer)則是接收者。可用的機制首先我們來看看每種機制的具體特點。在下一節(jié)屮,我會結(jié)合一個流程圖來介紹如何在具體情況下,選擇正確的消息傳遞機制。最示,將介紹一些來蘋果Framework中的示例,

6、并會解釋在某種確定情況下為什么要選擇固定的機制。KVOKVO提供了這樣一種機制:當對彖中的某個屬性值發(fā)生了改變,對以對這些值的觀察者做岀通知。KVO的實現(xiàn)包含在Foundation里而,基于Foundation構(gòu)建的許多Framework對KVO部有所依賴。要想了解更多關(guān)于如何使用KVO,可以閱讀木期由Daniel寫的的KVO和KVC文章。如果對某個對象屮值的改變情況感興趣,那么可以使用KVO消息傳遞機制。這里有兩個要求,首先,接收若(會接收到值發(fā)生改變的消息)必須知道發(fā)送者(值將發(fā)生改變的那個對彖)。另外,接收者同樣還需耍知道發(fā)送者的生命周期,因為在銷毀發(fā)送者對彖Z前,帝

7、耍取消觀察者的注冊。如果這兩個要求都滿足了,消息傳遞過程屮可以是1對多(多個觀察者可以注冊某個對彖中的值)。如果計劃在CoreData對象上使用KVO,需要知道這跟一般的KVO使用方法有點不同。那就是必須結(jié)合CoreData的故障機制(faultingmechanism),一旦coredata出現(xiàn)了故障,它將會觸發(fā)其屬性對應的觀察者(即使這些屬性值沒有發(fā)生改變)oNotification在不相關(guān)的兩部分代碼屮要想進行消息傳遞,通知(notifacation)是非常好的一種機制,它可以對消息進行廣播。特別是想要傳遞豐

當前文檔最多預覽五頁,下載文檔查看全文

此文檔下載收益歸作者所有

當前文檔最多預覽五頁,下載文檔查看全文
溫馨提示:
1. 部分包含數(shù)學公式或PPT動畫的文件,查看預覽時可能會顯示錯亂或異常,文件下載后無此問題,請放心下載。
2. 本文檔由用戶上傳,版權(quán)歸屬用戶,天天文庫負責整理代發(fā)布。如果您對本文檔版權(quán)有爭議請及時聯(lián)系客服。
3. 下載前請仔細閱讀文檔內(nèi)容,確認文檔內(nèi)容符合您的需求后進行下載,若出現(xiàn)內(nèi)容與標題不符可向本站投訴處理。
4. 下載文檔時可能由于網(wǎng)絡波動等原因無法下載或下載錯誤,付費完成后未能成功下載的用戶請聯(lián)系客服處理。