起初我有点惊讶的是,UIView
我的绘图是由帮助的CALayer
,但CALayer
代表实际上是UIView
。似乎关系颠倒了。
但是,delegate 是否真的没有“主帅”或“所有权”关系……它可以去任何方向:例如,A 类可以有一个 B 类的委托,同时 B 类可以还有一个代表是 A 类。
更重要的是,可以有多个委托,这意味着一个对象需要几个其他对象的帮助。
这有点类似于物理世界,CTO 可以将“面试某人的技术能力测试”委托给 David,而现在 David 是提供 1 到 10 分的代表。但 David 可以委托满足或不要回到 CTO(一个布尔值)说“我只能面试 Javascript 的候选人,我同意可以雇用新候选人并同意与他合作,如果你发现他擅长可扩展性问题,因为我们的团队需要这样一个人”——David 将其委托给 CTO。
所以在Objective-C(也可能是任何语言)中,可以有多个委托,他们可以去任何方向,主要思想只是为了一些原始对象不知道如何处理的“帮助”。真的吗?