在单元格类文件中,我有:
class adminImagesCell: UITableViewCell {
@IBOutlet weak var banSwitch: UISwitch!
}
插座连接到单元格中的开关视图。 在控制删除过程的表视图方法中我有:
func tableView(tableView: UITableView, commitEditingStyle editingStyle: UITableViewCellEditingStyle, forRowAtIndexPath indexPath: NSIndexPath) {
let cell = tableView.dequeueReusableCellWithIdentifier("adminImagesCell") as? adminImagesCell
println(cell!.banSwitch.on)
tableView.deleteRowsAtIndexPaths([indexPath], withRowAnimation: UITableViewRowAnimation.Automatic)
}
}
当我从这段代码中触发删除时,即使我设置了开关,单元格!.banSwitch.on也总是打印FALSE。你知道为什么吗?
答案 0 :(得分:1)
问题是你出了一个新的单元格,没有得到传入的indexPath的引用。你应该使用cellForRowAtIndexPath,
func tableView(tableView: UITableView, commitEditingStyle editingStyle: UITableViewCellEditingStyle, forRowAtIndexPath indexPath: NSIndexPath) {
let cell = tableView.cellForRowAtIndexPath(indexPath) as? adminImagesCell
println(cell!.banSwitch.on)
tableView.deleteRowsAtIndexPaths([indexPath], withRowAnimation: UITableViewRowAnimation.Automatic)
}
}