![]() |
1
13
委托通常使用 Protocols 而不是选择器。这是一种更为正式的跨类通信方式,当可能需要多个方法时,它最有用。 目标/动作通常用于对应“类似事件”的情况,如单击、计时器触发等。 |
![]() |
2
3
为了详细说明nilobject的答案,委托是通过一系列“标准化”方法的协议实现的。如果有多个对象,同一个类中的每个对象共享同一个委托,则无法区分发送者。因此,您可以看到-(void)delegatecallback:(id)sender发送方的指针允许您进行此关联。
或者,您可以使用selector方法传入自己的回调方法,这种方法很好,因为您不需要引用来与:(id)发送方进行比较,并且可以为初始化的每个对象进行方法回调。另一方面,缺少引用意味着如果释放此对象,将无法将属性设置为零。 |
![]() |
3
1
我认为在设计水平上有区别。
让我们拿一个专门做一些事情的组件。两个
通常,需要哪种沟通形式来定义是否使用
1。什么是沟通? 当通信限制在 控制 (事件、状态等) 委托更灵活,应用更广。所以我可以用授权发送和接收 数据 两个对象之间。 2。怎么用? 到目前为止,我已经看到目标行动主要表现在 1路 通信 代表团我已经完成了 双向的 通过具有返回值的方法进行通信。 |
![]() |
4
0
Target - the object which is going to respond for your action. Action - the method which is triggered by your action Delegates - Majorly used for callback mechanism, implemented using "@protocols". Selector - also can be used as callback method: 如:
|
![]() |
Martin sku · 在目标C中打印时间 3 年前 |
![]() |
Vinod prajapat · 如何更新数组的最后一个元素? 3 年前 |
![]() |
subin272 · 修复iOS中的多个按钮单击事件? 7 年前 |
![]() |
James Chan · 如何使用锁定/解锁? 7 年前 |
![]() |
Josh F. · NSBundle mainBundle返回零 7 年前 |