我们什么时候需要按钮在Swift中发送参数?

Kar*_*bus 3 xcode arguments button ibaction swift

当将Xcode中的按钮连接为@IBAction func时,我们可以在Arguments:Sender或None之间进行选择.

我们什么时候选择Sender?什么时候选择None?

Tho*_*cic 6

好吧,如果action方法需要知道哪个按钮触发了它,或者可以使用任何按钮的属性,那么你需要将发送方(按钮)传递给方法.

一个人为的例子就是你有一个计算器,它有一个'+'和一个' - '按钮.它们都可以共享动作方法performCalculation(sender: NSButton)并且该方法可以使用发送者的符号(这将是按钮title)来执行正确的计算.

另一方面,如果您有一个按钮,例如清除文本字段上的所有输入,那么您可以将此按钮连接到一个方法clearInput(),该方法不需要有关于触发它的按钮的任何信息(事实上,这里没有参数可以更容易在代码中的其他地方重用此方法并以编程方式触发清除文本字段).

我希望这对你有意义.afaik没有明确的规则.我猜这主要是品味问题.