gpt4 book ai didi

ios - 单击多个单元格上的 UItableview 正在快速检查 3

转载 作者:行者123 更新时间:2023-11-28 09:53:04 24 4
gpt4 key购买 nike

每当我选择第 4 个单元格时,我在 uitableview 中遇到问题,没有自动选择单元格...我厌倦了这个问题,有人请帮助这里是我的 didselectrowfunc..

////////////////For Adding Check Box////////////////////////

func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath) {

if tableView.cellForRow(at: indexPath)?.accessoryType == UITableViewCellAccessoryType.checkmark
{
if selectedDisease.count > 0
{
let no = selectedDisease.index(of: finall[indexPath.row])
selectedDisease.remove(at: no!)
tableView.cellForRow(at: indexPath)?.accessoryType = UITableViewCellAccessoryType.none
print(selectedDisease)
}
else
{
selectedDisease = [""]
}
}
else
{
if selectedDisease.contains("")
{
selectedDisease.removeAll()
var name = finall[indexPath.row]
selectedDisease.append(name)
tableView.cellForRow(at: indexPath)?.accessoryType = UITableViewCellAccessoryType.checkmark
print(selectedDisease)
}
else
{
tableView.cellForRow(at: indexPath)?.accessoryType = UITableViewCellAccessoryType.checkmark
selectedDisease.append(finall[indexPath.row])
//selectedDisease = [finall[indexPath.row]]
print(selectedDisease)
}
}
}

/////////CellForRowAt///////////////

func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
let cell = tableView.dequeueReusableCell(withIdentifier: "diseasetable", for: indexPath) as! FoodTableViewCell

cell.DiseaseName.text = finall[indexPath.row]
//indexsave.append(indexPath.row)

return cell
}

最佳答案

试试这个逻辑希望这能解决你的问题

    let dict = [NSIndexPath: String]()

override func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell {
let cell = tableView.dequeueReusableCellWithIdentifier("Cell", forIndexPath: indexPath)

if let _ = // dict contains value at indexpath {
cell.accessoryType = .Checkmark
} else {
cell.accessoryType = .None
}

return cell
}


override func tableView(tableView: UITableView, didSelectRowAtIndexPath indexPath: NSIndexPath) {
if ( // dict contains value == indexpath) {
// remove value from dict
} else {
//add value to dict
}
tableView.reloadRowsAtIndexPaths([indexPath], withRowAnimation: .Automatic)
}

关于ios - 单击多个单元格上的 UItableview 正在快速检查 3,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43406171/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com