- 有人知道我在哪里可以找到一个很好的解释/教程,说明应用程序委托在
objective-C
中是如何工作的吗? - 我所拥有的两本书对
delegates
个方面的论述不够详尽,也没有很好地解释它们,让我真正理解它们的力量和功能.
objective-C
中是如何工作的吗? delegates
个方面的论述不够详尽,也没有很好地解释它们,让我真正理解它们的力量和功能.如果有疑问,请查看docs!
基本上,委托是一种允许对象相互交互的方式,而不会在它们之间产生强烈的相互依赖性,因为这会降低应用程序的设计灵活性.对象之间没有相互控制的关系,它们可以有一个委托,向该委托发送(或委托)消息,委托会做任何事情,以便响应和执行该消息,然后通常会将某些内容返回给另一个对象.
委派也是子类化的更好 Select .不必创建自己的自定义类来稍微改变其他对象的行为方式,或向它们传递数据,委托允许对象向其委托发送消息来为其执行工作,而无需创建子类来对其他对象进行微小更改.
当然,委托的主要缺点是,可用的委托方法取决于苹果工程师认为有用的东西,以及他们希望人们需要的常见实现,这对你能实现的东西施加了限制.不过,正如奎因·泰勒所指出的,这是Cocoa框架特有的,因此并不适用于所有情况.
如果委托是子类化的一种 Select ,那么就接受它,因为它是管理代码和对象之间交互的一种更干净的方法.