【发布时间】:2016-03-14 10:24:25
【问题描述】:
我在设置视图上有多个 UISwitches,并将所有 UISwitches 链接到同一个 IBAction 函数。
@IBAction func settingSwitchTapped(sender: AnyObject) {
}
我如何找到哪个 UISwitch 被点击,以便我只保存实际更改的开关(而不是保存所有其他开关)
【问题讨论】:
我在设置视图上有多个 UISwitches,并将所有 UISwitches 链接到同一个 IBAction 函数。
@IBAction func settingSwitchTapped(sender: AnyObject) {
}
我如何找到哪个 UISwitch 被点击,以便我只保存实际更改的开关(而不是保存所有其他开关)
【问题讨论】:
这是 sender 参数的唯一用途。
如果您的所有开关都定义为 IBOutlets,您可以将sender 与它们中的每一个进行比较,以了解您点击了哪个。
你也可以给每个人一个不同的tag属性,根据sender.tag来决定做什么。
【讨论】:
为每个 Switch 设置一个唯一编号的标签。
您可以通过以下方式获得准确的开关:
switch = sender.tag
希望对你有帮助
【讨论】:
@IBAction func settingSwitchTapped(sender: AnyObject) {
switch (sender.tag){
case 101: // your tag
// executable code goes here
break;
case 102: // your tag
break;
case 103: // your tag
break;
default:
break;
}
}
【讨论】: