2016-10-04 84 views
0

我是iOS新手。我已經瞭解了這兩種消息傳遞的方法,但我無法在它們之間進行選擇。iOS中用於消息傳遞,NSNotification或委派的最佳方法是什麼?

+1

如果你想要一對一的呼叫使用代表,如果你想要一對多的使用通知 –

+0

可能重複的[在視圖控制器之間傳遞數據](http://stackoverflow.com/questions/5210535/passing-data-視圖間控制器) –

+0

取決於需求。如果你想從一個類傳遞數據到另一個類然後使用Delegate。如果你想在你的應用程序中添加一個監聽器,然後添加通知。根據我的看法取決於需求。 –

回答

0

從概念上講,委託是一個輔助對象或一個對象,它執行其他對象的部分工作,但它本身無法完成。通常會涉及一個協議,並且引用委託的對象期望它以預定義的方式工作,或者至少以特定於調用類需求的方式工作。

示例:針對UITableViewDelegate定義的所有方法都特定於表活動。

通知更多關於狀態更改。發送通知的對象不需要幫助來完成它的工作,它只是讓其他對象知道他們想要做出反應的情況。如果沒有其他人關心這個變化,那沒關係。

示例:接收UIApplicationDidBecomeActiveNotification的對象可以執行當時的開發人員需要的任何操作,而不僅僅是與UIApplication相關的操作。

0

委託模式主要用於委託,因爲對象知道委託方法在哪個類中實現。委託對象包含要執行任務的那個類的對象的引用。

在通知模式中,只是通知在整個類中廣播,每個類都在搜索觀察器方法實現。因此,需要更多時間來搜索觀察器方法,以便與委託模式進行比較。

相關問題