当连接Xcode中的按钮为@IBAction func时,我们可以选择Arguments:Sender或None。
我们什么时候选择Sender,什么时候选择None?
答案 0 :(得分:6)
好吧,如果action方法需要知道哪个按钮触发了它,或者可以使用任何按钮的属性,那么你需要将发送者(按钮)传递给方法。
如果你有一个带有'+'和' - '按钮的计算器,那么这个例子就是一个人为的例子。他们都可以共享操作方法performCalculation(sender: NSButton
),并且该方法可以使用发件人的符号(这将是按钮的title
)来执行正确的计算。
另一方面,如果您有一个按钮,例如清除文本字段上的所有输入,那么您可以将此按钮连接到方法clearInput()
,该方法不需要有关于该文本字段的任何信息。触发它的按钮(事实上,这里没有参数会更容易在代码中的其他地方重用此方法并以编程方式触发清除文本域)。
我希望这对你有意义。 afaik没有明确的规则。我猜这主要是品味问题。