我想知道如何在 swift 中使用协议和委托。我是一位经验丰富的程序员(大约 6 个月的经验),但我仍然感到困惑。谢谢!
新问题:
如何在 swift 中使用委托和协议?
将协议视为一种行话。它是对象用来相互交谈的专用词汇。协议定义了一组方法和属性,保证“符合”该协议的任何对象都具有这些方法和属性。
想象一个快餐厨师。临时厨师知道餐厅的行话。“我需要一个#7,嗯,除了洋葱以外的所有东西。”
侍应生不需要知道当晚谁在工作。他们只是下订单,厨师就会做饭。事实上,厨师甚至不需要是人类。如果你能建造一个机器人,它能够理解并遵循速食协议,并能烹饪食物,你就可以用机器人代替人类,而服务员根本不需要改变他们的工作方式.
协议非常类似。
代表使用协议,但这不是他们使用的唯一方式。
委托是执行特定工作的对象,并且保证理解特定协议。在上面的例子中,快餐厨师是餐厅的代表。您不知道委托对象是什么——您只知道它知道如何烹饪食物。您可以用不同的短期厨师替换短期厨师,只要它们都符合短期厨师协议,一切都完全相同。(委托通常被定义为符合协议的对象,而不是特定的类。)
委托也可以是用于自定义另一个对象行为的对象。对于UITableViews
,例如,该委托做事喜欢指定细胞,确定哪些细胞可被选择,把手选择动作的行高度,提供了页眉/页脚的观点,和类似的东西。
您经常提供一个委托来自定义复杂 Apple UI 对象(如表视图)的行为。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句