2013-02-19 178 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