我正在尝试使用类似于“设置”中的UITableViewController
来构建一个选择界面 - >一般 - >自动锁定,并且能够使复选标记工作,但我似乎无法弄清楚当再次调用视图时如何在先前选择的单元格上显示复选标记。
这是我到目前为止选中复选标记的代码:
var lastSelectedIndexPath: NSIndexPath?
override func tableView(tableView: UITableView, didSelectRowAtIndexPath indexPath: NSIndexPath) {
self.selectedDistance = distances[indexPath.row]
tableView.deselectRowAtIndexPath(indexPath, animated: true)
if indexPath.row != lastSelectedIndexPath?.row {
if let lastSelectedIndexPath = lastSelectedIndexPath {
let oldCell = tableView.cellForRowAtIndexPath(lastSelectedIndexPath)
oldCell?.accessoryType = .None
}
let newCell = tableView.cellForRowAtIndexPath(indexPath)
newCell?.accessoryType = .Checkmark
lastSelectedIndexPath = indexPath
}
}
override func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell {
let cell = tableView.dequeueReusableCellWithIdentifier("DataCell") as UITableViewCell
cell.accessoryType = (lastSelectedIndexPath?.row == indexPath.row) ? .Checkmark : .None
let distance = distances[indexPath.row]
cell.textLabel?.text = distance.0
cell.detailTextLabel?.text = "\(distance.1)"
return cell
}
我想我可能要将lastSelectedIndexPath存储在另一个文件中,但我不知道从哪里开始。非常感谢任何帮助。
答案 0 :(得分:1)
NSUserDefaults
存储它。