gpt4 book ai didi

ios - swift 中的 Target 和 Action 有什么区别?

转载 作者:搜寻专家 更新时间:2023-10-30 21:52:39 24 4
gpt4 key购买 nike

我什么时候应该使用 Target 和 nil 操作?另一方面,什么时候应该使用 Action 和 nil Target,什么时候应该同时使用 Action 和 Target?

let rightButton = UIBarButtonItem(title: "Done", style: .done, target: nil, action: nil)

最佳答案

通常,您会同时看到目标和操作。

Target 和 action 用来指代特定的方法。在您的代码片段中,您正在创建一个 UIBarButtonItemUIBarButtonItem 需要知道在点击时应该调用什么方法。

如何告诉它调用哪个方法?

“只需​​传递方法引用”你可能会说:

let rightButton = UIBarButtonItem(
title: "Done", style: .done, methodToCall: self.myMethod)

不幸的是,这只适用于 swift。 UIBarBUttonItem 是一个客观的 C API,因此不能使用这种方法。

在 objective-c 中,Selector 表示方法,但它们不存储调用该方法的对象。这就是为什么我们需要一个额外的 target 参数。它指定应该在哪个对象上调用该方法。另一方面,action 指定要调用的方法。

在这里,我们要调用self.myMethod。调用方法的对象是self,被调用的方法是myMethod。伟大的!现在让我们通过这些!

let rightButton = UIBarButtonItem(
title: "Done", style: .done, target: self, action: #selector(myMethod))

关于ios - swift 中的 Target 和 Action 有什么区别?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42779243/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com