.delegate=self 是什么意思?

2023-11-29

谁能解释一下的意思someViewController.delegate = self and self.delegate?他们在哪里帮助我们?


代表们发送信息 to you.

例如:如果您使用加速度计委托,您将收到有关加速度计的消息。

如果您使用新的中微子检测委托,您将收到有关在该区域检测到的任何中微子的消息。

如果您使用 PopUps,PopUps 会向您发送消息。完成的方式是使用 PopUp 的委托。有很多很多的例子。

因此,代表们发送消息。

就是这么简单。

您可能会问,“它把这些消息发送到哪里?”

答案是这样的:它将消息发送到您设置“.delegate”的地方。

当您“设置委托”时,您所做的就是说出您希望消息到达的位置。

Hence,

blah.delegate = AmazingPlace 会将消息发送到“amazingPlace”。

blah.delegate = Something Else 会将消息发送到“Somewhere Else”。

blah.delegate = self 将发送消息......to you.

很多时候,您希望消息发送给“您”,因此您只需说“blah.delegate = self”

忘记那行代码是一个非常常见的错误。

如果你忘记了那行代码,你就被塞满了。消息去nowhere,而你则绞尽脑汁试图找出问题所在。

您还必须做的其他事情:当您使用委托时,您必须事先宣布您想要使用委托。

怎么做?

这很容易...

在过去的 Objective-C 时代...

// old days!
@interface AppDelegate_Pad : NSObject <UIApplicationDelegate>
@interface BigTop : UIViewController <ASIHTTPRequestDelegate,
                                        UIPopoverControllerDelegate>
@interface Flying : UIViewController <UIAccelerometerDelegate>

您可以看到“BigTop”想要使用两个委托,即 ASIHTTPRequestDelegate 和 UIPopoverControllerDelegate。而“Flying”只想使用一个委托 - 它想要使用加速度计。

在斯威夫特...

 class YourClass:UIViewController, SomeDelegate, AnotherDelegate

如果不到处使用代理,你就无法在 iPhone 上做很多事情。

iOS 中随时随地都在使用委托。

一个类可能使用十几个代表是完全正常的。也就是说,您的班级将希望从十几个代表那里获取消息。

如今使用 Swift,你只需输入

  blah.delegate = self

仅此而已。

这就是你正在做的事情。代表们发送信息。你不得不说where您希望消息能够发送。通常,您希望他们去找“您”,所以在这种情况下您只需说blah.delegate=self.

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

.delegate=self 是什么意思? 的相关文章

随机推荐

  • Protobuf-net .proto 文件生成用于继承

    我正在对 Protobuf net 进行原型设计 以替换我们现有的一些 C 代码 该代码当前正在使用 Datacontract 将对象序列化为 Xml 使用protobuffer我们可以轻松地与Java共享数据 因此 我对 Protobuf
  • scipy.spatial.ckdtree 运行缓慢

    我一直在使用spatial cKDTree in scipy计算点之间的距离 对于我的典型数据集 查找约 1000 个点到约 1e6 点数组的距离 它总是运行得非常快 约 1 秒 我在 Ubuntu 14 10 的计算机上以 python
  • iPhone 本地化 - 某些本地化的 XIB 无法加载

    我制作了一个具有本地化版本的 iPhone 应用程序 它大部分工作正常 但有两个视图无法加载本地化 NIB 使用标准 NIB 英文 我确信我正确地进行了本地化 获取信息 使文件可本地化 添加本地化 添加 pl 波兰语 然后编辑创建的 NIB
  • 替换嵌套数组 ruby​​ 中的元素

    我无法在代码中找到问题所在 如果特定元素出现在宾果板上 我想用 X 替换它们 class BingoBoard def initialize board bingo board board end def number letter let
  • 如何在C++中默认初始化内置类型的局部变量?

    如何在 C 中默认初始化原始类型的局部变量 例如 如果 a 有一个 typedef typedef unsigned char boolean that s Microsoft RPC runtime typedef 我想更改以下行 boo
  • 从 N 个数中找出最大和第二大的数

    给定 n 个数字 如何使用最多 n log n 次比较找到最大和第二大数字 请注意 这不是 O n log n 而是真正的 n log n 次比较 帕杰顿发表了评论 让我详细说明一下 正如帕杰顿所说 这可以通过锦标赛选择来完成 可以将其视为
  • 移动返回时调用的构造函数而不是复制

    今天我发现这段代码并没有像我期望的那样工作 根据我的知识 对于 L 值 应该调用复制构造函数 而对于 R 值 应该选择移动构造函数 否则目的何在std move它实际上什么也不做 只是转换为 R 值 我正期待着return obj将调用复制
  • GROUP BY DESC 如何选择顺序?

    所以我正在为一家商店创建部分 如果没有 商店可以有多个范围section identifier为给定设置store id它应该回退到全局商店0 我想要的 SQL 命令应该返回一个列表section options对于任何相关的给定商店 我的
  • 按行与按列访问矩阵元素

    一个矩阵A i j 给出 如果我们想将矩阵的元素相加 哪种方法更好 为什么 列明智 row wise 从我的角度来看 行方式更好 因为在数组表示中元素存储在连续的内存位置中 因此访问它们需要更少的时间 但是由于在 RAM 中获取每个位置需要
  • 单击按钮循环浏览 Jlabel 图像时出现 for 循环问题

    在java应用程序中 我有一个Jlabel 每次单击按钮时我想为其分配一个新图像 使用for循环我可以让它只显示最后一个图像 跳过图像之间的所有图像 我知道有一个错误按照我的逻辑 也许我不应该使用 for 循环 任何建议 private S
  • 捕获信号时强制终端不打印 Ctrl 热键

    再会 我正在为我的学校用 C 语言编写自己的 shell 它必须类似于bash尽可能接近 我必须处理 Ctrl 和 Ctrl C 等信号bash做 因此我可以使用signal功能 它工作正常 但问题是每当捕获 Ctrl C 信号时 从第二个
  • Json 对象的最大长度 Asp.net Core 3.1

    虽然这是大约两年前提出的问题 但我仍然面临着这个问题 而且没有办法摆脱它 有没有办法在 Asp net Core 3 1 中设置 JSON 对象的最大大小 在除 Net core 之外的其他 Net 框架中 有一些方法可以做到这一点 或者我
  • 在 Heroku 上的 Rails 应用程序中使用 COPY FROM 和 Postgresql 后端

    我想让用户可以选择在 Ruby on Rails 3 2 应用程序中上传文件 并将数据存入数据库 我想用COPY FROM命令 因为它比插入 ruby 对象更快 If I do User connection execute COPY us
  • 如何在php中通过特殊字符连接两个数组元素值?

    我有两个数组如下 Array 0 gt 2013 07 09 1 gt 2013 07 16 2 gt 2013 07 23 3 gt 2013 07 30 Array 0 gt 2013 07 16 1 gt 2013 07 23 2 g
  • Mongodb 多重嵌套数组搜索

    我的目标是搜索数据userid 1的记录 以下是我的数据 id 2 name test data id 1 file nic userid 1 2 id 2 file nic1 userid 1 id 3 file nick2 userid
  • 单击元素角度 4 外部时隐藏

    我为垂直导航创建了一个侧面菜单 因此我在单击时切换侧面菜单 我需要在单击该菜单之外的任何位置时关闭该菜单 我尝试安装 https github com chliebel angular2 click outside 但由于某种原因它不起作用
  • Spring AOP 在 Java 8 中给出 IllegalArgumentException

    使用 Java 8 和 Spring AOP 4 0 6 我收到以下错误 java lang RuntimeException Error scanning file MonitorAroundPerformance class at or
  • 提交和重定向后输入字段未清空?

    当我想从 jsf 页面 删除飞机 时 如果成功删除飞机 我会重定向到该页面并显示一条警报 告诉用户飞机已成功删除 但是 用户在 h inputText 中输入的值仍然存在 它们不是空的 JSF 页面
  • 使用 __getattr__ 覆盖魔术方法

    我有一个类 它是成员的容器 所有成员都属于同一类型 class A int def init self n super init self n n def do self print adding 10 return self n 10 c
  • .delegate=self 是什么意思?

    谁能解释一下的意思someViewController delegate self and self delegate 他们在哪里帮助我们 代表们发送信息 to you 例如 如果您使用加速度计委托 您将收到有关加速度计的消息 如果您使用新