识别哪个 UISwitch 被点击

Identify which UISwitch is tapped

我在设置视图上有多个 UISwitch,并将所有 UISwitch 链接到相同的 IBAction 函数。

 @IBAction func settingSwitchTapped(sender: AnyObject) {

 }

我如何找到哪个 UISwitch 被点击,以便我只保存实际更改的开关(而不是保存所有其他开关)

这是 sender 参数的唯一目的。

如果您的所有开关都定义为 IBOutlets,您可以将 sender 与每个开关进行比较,以了解您点击了哪一个。

你也可以给他们每个人一个不同的tag属性,然后根据sender.tag决定做什么。

为每个开关设置唯一编号的标签。

您可以使用以下方法获得精确的切换:

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;
    }
}