【发布时间】:2015-05-24 07:18:04
【问题描述】:
当在 Xcode 中将按钮连接为 @IBAction func 时,我们可以在 Arguments 之间进行选择:Sender 或 None。
我们什么时候选择Sender,什么时候None?
【问题讨论】:
标签: xcode swift button arguments ibaction
当在 Xcode 中将按钮连接为 @IBAction func 时,我们可以在 Arguments 之间进行选择:Sender 或 None。
我们什么时候选择Sender,什么时候None?
【问题讨论】:
标签: xcode swift button arguments ibaction
好吧,如果操作方法需要知道哪个按钮触发了它,或者可以使用按钮的任何属性,那么您需要将发送者(按钮)传递给该方法。
一个人为的例子是如果你有一个计算器,它有一个“+”和一个“-”按钮。他们都可以共享操作方法performCalculation(sender: NSButton)并且该方法可以使用发送者的符号(这将是按钮的title)来执行正确的计算。
另一方面,如果您有一个按钮,例如,它将清除文本字段上的所有输入,那么您可以将此按钮连接到方法 clearInput(),该方法不需要任何有关按钮的信息触发了它(事实上,这里没有参数会更容易在代码的其他地方重用此方法并触发以编程方式清除文本字段)。
我希望这对你有意义。没有明确的规则。我猜这主要是口味问题。
【讨论】: