Swift:如何访问仅使用一个函数以编程方式创建的多个UISwitch

时间:2015-05-05 10:27:40

标签: swift uiswitch

我创建了一个表,每行都有一个名称和一个UISwitch按钮。行数不固定(因此也不是UI开关的数量),它取决于用户条目。 我设法给每个UISwitch一个标签,但我不知道如何从@IBAction func访问它们

代码

$(document).on("click", "[data-rel=forward]", function()
{
    window.history.forward();
});

2 个答案:

答案 0 :(得分:2)

来自我刚刚从nhgrif链接找到的另一篇文章,所有遗漏的内容都是" switchChanged中的分号:"

switchView.addTarget(self, action: #selector(PIN.switchChanged(_:)),    forControlEvents: UIControlEvents.ValueChanged)

现在可以使用

答案 1 :(得分:0)

为此,您需要管理可变Array或可变Dictionary

假设我们使用Mutable Dictionary,它存储像

这样的值
@{ 
   @"1" : 1 ,
   @"5" : 1 ,
   @"8" : 1 ,
}

在这种情况下,我们有3个开关处于ON状态,位于索引1,5和8。

假设用户点击索引6的开关, 在这种情况下,将调用“switchChanged()”。

在此方法中,使用sender.tag获取行的索引,您将获得Int值,将其转换为String并检查该索引的值是否在字典中可用或不。

如果值可用,则表示之前处于ON状态,现在由User关闭。因此,在这种情况下,请从字典中删除{<key>,<value>}对。

如果值不可用,则表示它之前处于OFF状态,现在由User打开。因此,在这种情况下,将{<key>,<value>}对添加到字典中。

func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell方法中,检查indexpath.row变量的相同内容,然后打开或关闭UISwitch