iphone - 什么是委托(delegate)和委托(delegate)方法

标签 iphone delegates cocoa-design-patterns

委托(delegate)和委托(delegate)方法之间有什么区别以及它们的用途是什么?

最佳答案

这很难解释,但是委托(delegate)委托(delegate)另一个对象执行方法。当您在列表中选择一个项目时, TableView 不知道要做什么。相反,它必须向委托(delegate)对象询问一个问题,特别是 didSelectRowAtIndexPath。 TableView 知道的唯一信息是用户点击的部分和行。因此, TableView 将这些信息提供给委托(delegate)对象,本质上是说“嘿,用户点击了第 0 节中的第 4 行。做一些事情。”

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

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

这有意义吗?

关于iphone - 什么是委托(delegate)和委托(delegate)方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1788032/

相关文章:

ios - iBeacon 接收器无法识别传输的信号

ios - NativeScript - 使用 iBeacon 重启应用程序,AppDelegate 必须实现窗口属性

c# - 调用/创建委托(delegate)

ios - 将 UIViewController 设置为另一个 UIViewController 的属性是不是一个坏主意?

iphone - RPG游戏循环和类结构(适用于iPhone的cocos2D)

iPhone - 使用 Reachability 抛出重复符号 _OBJC_IVAR 错误

swift - HMHomeManager 返回零

objective-c - 继承的@property 不能满足 <protocol> @property 吗?

cocoa - 通用 Cocoa 应用程序架构编程指南

ios - Xcode 8 测试版 4 : Build fails with "The following binaries use incompatible versions of Swift:" error