2012-09-22 27 views
-2

可能重複:
How does a delegate work in objective-C?
Can Someone Help Me To Understand What Is This 「Delegate」?目標C以代理人的

什麼是目標C 委託方法的使用,如果我使用的子類的方法,爲什麼我們做相同的功能在目標中使用委託方法c

+0

請參閱[本](http://stackoverflow.com/q/12207148/730701)。 – Adam

+0

委託設計模式並非Objective-C所獨有,但Cocoa框架大量使用它。 – FluffulousChimp

+0

會更好,如果你在谷歌而不是這裏寫這條線... – TheTiger

回答

0

您可能希望實施更多委託s,而obj-c只支持單一繼承。

無論如何,總是選擇組合和接口/委託繼承。

+0

我不明白你會詳細說明這件事 – nuttekar

+2

不要總是** **選擇任何單一的工具,當有多種每個人都有自己的優勢。 –

+0

閱讀[this](http://stackoverflow.com/q/4192203/730701)瞭解更多關於多重繼承和組合。 – Adam

0

將委託方法看作是該類的外部方法。任何類都可以通過遵守委託協議並實現所需的委託方法變得有用(成爲委託)。代表團增加了靈活性,而不受子類繼承的父類固有的限制。

+0

在這種情況下,委託主要用於目標c – nuttekar

+0

例如,每個應用程序都是Objective-C運行時的委託。您可以在應用程序委託類的實現的.h文件中看到這一點,該文件指定了UIApplicationDelegate協議。其他的例子是viewWillLoad/ShouldLoad/DidLoad,它們是UIView類的委託方法。 –