2013-02-19 102 views
-6

從多個類調用函數有什麼不同的方法?ios從不同類調用方法的不同方式

我知道protocals,通知,但任何人都可以用例子來描述它們,哪一個最好?

謝謝

+2

請定義「最好」。 – trojanfoe 2013-02-19 16:43:14

+0

意味着使用的最佳實踐是什麼。並且是首選。 – 2013-02-19 16:48:22

+0

完全取決於你想要做什麼。您是否閱讀過Apple開發者庫中的[與對象通信](https://developer.apple.com/library/ios/#documentation/Cocoa/Conceptual/CocoaFundamentals/CommunicatingWithObjects/CommunicateWithObjects.html)? – 2013-02-19 16:55:20

回答

2

我不認爲這是一個非常糟糕的問題。很多人對問題的「最好」方面做出了負面反應。一個簡單的改寫可能是「什麼情況最適合於每種對象間的交流」。

總之,常見的有如下:

  • 直接調用(谷歌Objective-C語言的方法) - 最常見的 ,最直接,最緊密的合作對象。
  • KVO(google「Objective-C KVO」) - 用於觀察特定對象在另一個特定對象中的值變化。
  • NSNotification(谷歌「NSNotification」) - 一個任意/許多感興趣的對象,觀察另一個對象要播出
  • 委託任何情況下(谷歌「的Objective-C代表」) - 當一個對象需要的工作要在完成它代表其他對象,它發佈一個委託協議。其他對象可以實現這個協議(「符合它」),然後被分配爲委託。 (這個過度使用,在我看來)

有大量的web材料如何實現每個(谷歌他們的細節)。

+0

感謝兄弟爲此,我會盡力找出並找到示例。 – 2013-02-20 08:31:31

+0

我找不到Direct調用。 – 2013-02-20 08:40:06

+0

這只是調用一種方法。 ClassA有一個實現方法'foo'的ClassB實例。它說:[myClassB foo]; – danh 2013-02-20 15:21:36