如何在Swift中更改为ON状态时从开关调用选择器?

时间:2014-10-23 08:21:52

标签: ios xcode swift

我需要在更改开关时调用带选择器的函数,但只有在我将开关设置为开启状态时才会调用:

 cell.switchMy.addTarget(self, action: "openView", forControlEvents: UIControlEvents.ValueChanged)

  func openView(){
    var cell:CustomCell = self.tableView.dequeueReusableCellWithIdentifier("cell5") as CustomCell
    if(cell.switchMy.on == true){
        println("ON")
        self.performSegueWithIdentifier("segueUnl", sender: self)
    }
}

如果我使用此代码,请始终调用该函数,但如果开关状态为ON,我将控制...这怎么能正确?

1 个答案:

答案 0 :(得分:3)

这是(几乎)正确的方法。只有当切换状态为on时,才能调用方法。 但是您不需要从openView方法中检索单元格。发件人将由调用者传递:

cell.switchMy.addTarget(self, action: "openView:", forControlEvents: UIControlEvents.ValueChanged)

func openView(sender: UISwitch){
    if(sender.on) {
        println("ON")
        self.performSegueWithIdentifier("segueUnl", sender: self)
    }
}

注意:addTarget中使用的选择器需要从openView更改为openView: