我什么时候应该与目标和零行动一起工作?另一方面,什么时候我应该与行动和零目标工作,什么时候我应该与行动和目标工作?
let rightButton = UIBarButtonItem(title: "Done", style: .done, target: nil, action: nil)发布于 2017-03-14 06:46:51
通常,你会同时看到目标和行动。
目标和动作用于引用特定的方法。在您的代码片段中,您正在创建一个UIBarButtonItem。UIBarButtonItem需要知道当它被点击时应该调用什么方法。
如何告诉它该调用哪种方法?
“只需传递方法引用”,您可能会说:
let rightButton = UIBarButtonItem(
title: "Done", style: .done, methodToCall: self.myMethod)不幸的是,这只适用于迅速。UIBarBUttonItem是一个目标C,因此不能使用这种方法。
在目标C中,Selectors表示方法,但它们不存储要调用方法的对象。这就是为什么我们需要一个额外的target参数。它指定应该调用该方法的对象。另一方面,action指定要调用的方法。
在这里,我们想打电话给self.myMethod。调用该方法的对象是self,被调用的方法是myMethod。太棒了!现在让我们把这些递过去!
let rightButton = UIBarButtonItem(
title: "Done", style: .done, target: self, action: #selector(myMethod))发布于 2017-03-14 06:43:25
据Apple说。
目标-动作是一种设计模式,在这种模式中,当事件发生时,对象保存向另一个对象发送消息所需的信息。存储的信息由两项数据组成:一个动作选择器(它标识要调用的方法)和一个目标(它是接收消息的对象)。事件发生时发送的消息称为操作消息。尽管目标可以是任何对象,甚至框架对象,但它通常是一个自定义控制器,它以特定于应用程序的方式处理操作消息。

中的MVC
目标:
是控制器,它充当查看对象的委托(在您的情况下是UIBarButtonItem)。
行动:
方法调用响应视图(委托)。
有关更多信息,请查看:Targe行动
发布于 2017-03-14 06:42:07
目标:
应该调用选择器(在操作中指定的方法)的对象/实例。
行动:
单击按钮时要触发的方法的名称。
我什么时候应该使用目标和零动作?
当您的屏幕/视图控制器中有按钮,并且您不希望它在点击时触发任何方法(没有动作的虚拟按钮)
https://stackoverflow.com/questions/42779243
复制相似问题