什么是代表和委托方法

问题描述:

任何人请让我知道代表&区别代表方法及其差异和用法???什么是代表和委托方法

委托是一个对象。委托方法是委托对象期望实现的方法。一些委托方法是必需的,而有些则不是。在IOS中,大多数代表需要符合Objective-C协议;协议声明会告诉你哪些方法是可选的,哪些是必需的。

A 代表仅仅是对另一个对象的引用和委托方法是委托的方法。

A 委托方法实现通常将发件人作为要调用的参数之一的回调机制。

这很难解释,但委托代表另一个对象执行方法。当你在列表中选择一个项目时,表格视图不知道该怎么做。相反,它必须向委托对象提出一个问题,具体来说,就是使用SelectSelectRowAtIndexPath。桌面视图的唯一信息是用户点击哪一部分和哪一行。因此,表格视图通过基本上说“嘿,用户在第0节点击第4行”,将这些信息提供给委托对象。做一些事情。“

委托对象找到didSelectRowAtIndexPath方法并执行里面的代码。

许多不同的对象都有很多委托方法。例如,Text Field对象本身无法做任何事情。相反,它使用委托来执行操作。如果按下屏幕键盘上的回车键,则文本字段会要求委托对象执行特定方法textFieldShouldReturn。如果您为文本字段设置的委托没有textFieldShouldReturn方法,则当您按下输入按钮时,文本字段将不知道该做什么。

这是否有意义?

+1

这帮了很大忙。非常感谢! – 2010-06-07 18:52:37

+0

真的很好的解释..我会给同样的例子,以学员解释委托的概念.. – 2012-01-04 05:49:04

+0

很好的答案... – konyv12 2017-04-05 09:04:15

所有iOS应用都使用授权。即使是基本的。它已经提供给他们的代码。在其他语言中,你会使用类似继承的东西。

就像在现实世界中一个委托代表某人/某物或在这种情况下是一个对象。

以UI对象为例,他们已经有他们的方法来执行任务。但他们可以连接到你的viewController(对象/自定义类),他们可以将责任委托给你的对象。

有几件事情要记住:

  1. 此使用委托协议全部完成。
  2. 它是一个自愿的事情。所以你的对象选择作为委托。
  3. 查看Delegate协议并实现这些方法。有些是可选的,有些是必需的。
  4. 确保委托对象已连接到您的对象。
+0

你是如此亲密,但我认为你的措辞可以使用一点改进。我认为最好是说代表们被用于物体本身无法自己做的事情。说UITableView,它是一个管理和绘制一个表的类,但它不能自己做所有事情,因为它需要一个委托来知道要绘制多少行,这些行的内容等等。 – 2012-10-02 22:08:57