我是新手,尝试更改选中的tableviewcell已选中。 我试着;用户选择城市和地区,然后单击“保存”按钮,应用程序会将信息发送到服务器。没问题,所以在那里。当用户想更新城市或地区时,我应该先检查地区,然后用户才能看到他/她选择了什么。我正在使用json从服务器获取第一信息,并将其附加到数组。当用户单击更新按钮时,我可以在调试模式下看到选定信息的前面,但是表视图单元格不会被选中。对不起,我的英语不好。
首次选择我要做什么:
in viewDidLoad()
self.tableViewDistrict.isEditing = true
self.tableViewDistrict.allowsMultipleSelection = true
self.tableViewDistrict.allowsMultipleSelectionDuringEditing = true
func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath) {
self.selectDeselectCell(tableView: tableView, indexPath: indexPath)
}
extension ViewController{
func selectDeselectCell(tableView: UITableView, indexPath: IndexPath){
self.selectedDistId.removeAll()
if let array = tableView.indexPathsForSelectedRows{
for index in array{
selectedDistId.append(districtArray[index.row].id!)
}
}
}
}
答案 0 :(得分:0)
假设您已将所有先前选择的数据存储在
之类的数组中var alreadySelectedDistricts : [String] = []
因此,在您的cellForRowAt方法中,您可以像
一样进行检查for district in alreadySelectedDistricts {
if cell.districtLabel.text.contains(district) {
cell.accessoryType = .checkmark
} else {
cell.accessoryType = .none
}
}