iOS但为什么委托

use*_*878 1 delegates iphone-sdk-3.0 ios

我在iOS编程中随处可见使用委托......我不确定使用的是什么.

你能解释一下吗?

Jon*_*ing 5

当您需要对象的行为彼此不同时,您可以为它们提供不同的实现(通常通过子类化,如同使用UIViewController)或委派.不同之处在于,第一种情况下的多态性是通过制作不同类型的对象来实现的,而在第二种情况下,多态性是通过使相同类型的对象某些功能位委托给任意类型的对象来实现的.

人们如此喜欢委托的原因是它允许一个更清晰的类层次结构:你不需要子类化每一个小东西,只是为了响应一些钩子.这就是我们使用委托的原因.

如果你想知道委托的机制,以及如何在你自己的课程中做到这一点,欢迎你看看我的文章在Objective-C中使用自定义委托.