我是iOS新手。我已經瞭解了這兩種消息傳遞的方法,但我無法在它們之間進行選擇。iOS中用於消息傳遞,NSNotification或委派的最佳方法是什麼?
0
A
回答
0
從概念上講,委託是一個輔助對象或一個對象,它執行其他對象的部分工作,但它本身無法完成。通常會涉及一個協議,並且引用委託的對象期望它以預定義的方式工作,或者至少以特定於調用類需求的方式工作。
示例:針對UITableViewDelegate
定義的所有方法都特定於表活動。
通知更多關於狀態更改。發送通知的對象不需要幫助來完成它的工作,它只是讓其他對象知道他們想要做出反應的情況。如果沒有其他人關心這個變化,那沒關係。
示例:接收UIApplicationDidBecomeActiveNotification
的對象可以執行當時的開發人員需要的任何操作,而不僅僅是與UIApplication
相關的操作。
0
委託模式主要用於委託,因爲對象知道委託方法在哪個類中實現。委託對象包含要執行任務的那個類的對象的引用。
在通知模式中,只是通知在整個類中廣播,每個類都在搜索觀察器方法實現。因此,需要更多時間來搜索觀察器方法,以便與委託模式進行比較。
相關問題
- 1. 用NSRect信息發佈NSNotification的最佳方法是什麼?
- 2. 什麼是Rails的最佳消息傳遞插件?
- 3. 什麼是消息傳遞?
- 4. Firebase雲消息傳遞:最佳做法
- 5. 通過Ajax調用傳遞ID的最佳方法是什麼?
- 6. 什麼是OOP中的消息傳遞?
- 7. 關聯NServiceBus響應消息的最佳方法是什麼?
- 8. 解析FIX消息的最佳方法是什麼?
- 9. 爲什麼委派事件的通用方法不適用於錯誤消息方法名稱預期
- 10. Chrome擴展中異步消息傳遞的最佳設計模式是什麼?
- 11. 將對象的方法作爲回調傳遞的最佳或最常用的方法是什麼?
- 12. 在Express.js中顯示Flash消息的最佳方式是什麼?
- 13. 在QuoteRequest消息中設置SenderSubID的最佳方式是什麼?
- 14. 將確認或錯誤消息傳遞迴視圖的好方法是什麼?
- 15. 在iOS中將值ViewController傳遞給父級ViewController的最佳方式是什麼?
- 16. 什麼是在java中傳遞數組的最佳方式
- 17. 在codeigniter中構建用戶到用戶消息傳遞功能的最佳方式是什麼?
- 18. 傳遞access_token進行API調用的最佳做法是什麼
- 19. 向卡夫卡發佈消息的最佳方式是什麼?
- 20. 格式化消息排隊的最佳方式是什麼?
- 21. 傳遞異步委託的方法簽名是什麼?
- 22. 什麼是使用功能方式處理日誌消息的最佳做法
- 23. 集中TempData成功/錯誤消息的最佳方法是什麼?
- 24. 消除跨域Ajax調用的最佳方法是什麼?
- 25. 消息傳遞和方法調用有什麼區別?
- 26. 存儲應用程序信息的最佳方法是什麼?
- 27. 構建異常消息的最佳做法是什麼?
- 28. 在JavaScript中處理遞歸的最佳方法是什麼?
- 29. 將對象傳遞給NodeJS中的子文件的最佳方法是什麼?
- 30. 將信息從java傳遞給C++的最佳方式是什麼?
如果你想要一對一的呼叫使用代表,如果你想要一對多的使用通知 –
可能重複的[在視圖控制器之間傳遞數據](http://stackoverflow.com/questions/5210535/passing-data-視圖間控制器) –
取決於需求。如果你想從一個類傳遞數據到另一個類然後使用Delegate。如果你想在你的應用程序中添加一個監聽器,然後添加通知。根據我的看法取決於需求。 –