17

伙计们,请让我知道委托和委托方法之间的区别及其区别和用法???

4

4 回答 4

46

很难解释,但是委托代表另一个对象执行方法。当您在列表中选择一个项目时,表视图不知道该做什么。相反,它必须向委托对象询问一个问题,特别是 didSelectRowAtIndexPath。tableview 知道的唯一信息是用户点击了哪个部分和行。因此,表格视图通过基本上说“嘿,用户在第 0 节中点击了第 4 行。做某事”来向委托对象提供此信息。

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

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

这有意义吗?

于 2009-11-24T20:55:06.320 回答
6

委托是一个对象。委托方法是委托对象期望实现的方法。有些委托方法是必需的,有些则不是。在 IOS 中,大多数委托都需要遵守 Objective-C 协议;协议声明将告诉您哪些方法是可选的,哪些是必需的。

于 2009-11-24T06:11:45.880 回答
5

委托只是对另一个对象的引用,委托方法是委托的方法。

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

于 2009-11-24T06:18:50.597 回答
1

所有 iOS 应用程序都使用委托。即使是最基本的。它已经在他们给你的代码中可用。在其他语言中,您会使用继承之类的东西。

就像在现实世界中一样,代表代表某人/某事,或者在这种情况下代表一个对象。

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

需要记住的几件事:

  1. 这一切都是使用委托协议完成的。
  2. 这是自愿的事情。所以你的对象选择成为代表。
  3. 查看 Delegate 协议并实现方法。有些是可选的,有些是必需的。
  4. 确保委托对象已连接到您的对象。
于 2012-08-13T11:16:18.843 回答