确定哪个UISwitch被挖掘

问题描述:

我在设置视图上有多个UISwitch,并将所有UISwitch链接到同一个IBAction函数。确定哪个UISwitch被挖掘

@IBAction func settingSwitchTapped(sender: AnyObject) { 

} 

如何找到这UISwitch被窃听,这样我就只保存,实际上改变了开关(而不是保存所有其他人也)

这就是sender参数的唯一目的。

如果您所有的交换机都定义为IBOutlets,那么您可以将sender与其中的每一个进行比较,以便知道您点击了哪一个。

你也可以给每个人一个不同的tag财产,并根据sender.tag决定做什么。

+0

太好了!为了比较,我们必须将发件人:AnyObject更改为发件人:UISwitch – Steve

为每个交换机设置一个独特的编号标签。

您可以通过以下得到确切开关:

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