如何在 Swift 3 中保存 UITableViewCell 附件复选标记的状态

How to save the state of UITableViewCell accessory checkmark in Swift 3

我有一个 table 视图,我希望用户 select 只有 table 视图中的一项,然后我想在单元格中添加复选标记。同时,我也想让其他单元格上的复选标记消失所以。用户一次只能 select 一个。然后我想保存数据(最好使用UserDefaults)。我该怎么做?

创建一个 class 类型的 IndexPath 变量。在您的 cellForRowAt 方法中,仅当索引路径与 class 变量匹配时才设置 .checkmark 附件类型,否则设置 .none 。在 didSelectRowAt 方法中更新所选变量的 indexPath 并重新加载 tableview

你应该这样使用

func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath)
{
    let sgp : UITableViewCell = tableView.cellForRow(at: indexPath)!
    sgp.accessoryType = .checkmark
}