gpt4 book ai didi

ios - 取消选中 Swift4 中的 TableView 所有 TableView 选择

转载 作者:行者123 更新时间:2023-11-30 11:26:38 25 4
gpt4 key购买 nike

我已经搜索过,但没有找到解决方案:

  • 我有一个允许多项选择的 tableView
  • 我想要一个按钮,允许在 Swift 中同时清除这些选择。该按钮将位于与 TableView 不同的 viewController(UIViewController)上。可以使用协议(protocol)和委托(delegate),还是需要单例?我希望它在单击按钮时更新。

几年前我在这里看到了 Dejan Skledar 的回答:UITableViewCell checkmark to be toggled on and off when tapped名为 resetChecks() 的函数似乎就是我一直在寻找的,但我在让我为 Swift 编写的内容正常工作时遇到了困难。当我运行它时,它实际上并没有进入该方法,然后当调用该方法时,它会因“意外发现 nil”而崩溃。请问有人可以提供一些建议吗?谢谢。这是我写的:

func removeChecks() {
for i in 0...grainTableView.numberOfSections - 1 {
for j in 0...grainTableView.numberOfRows(inSection: i) - 1 {
if let cell = tableView(grainTableView, cellForRowAt: [i,j]) as? UITableViewCell {
cell.accessoryType == .none
}
}
}
}

最佳答案

当您呈现当前 VC 时,从 preVC 发送对象

class currentVC:UIViewController {

var delegate:PreVC?

func removeChecks() {

if let grainTableView = delegate?.tableView {
for i in 0...grainTableView.numberOfSections - 1 {
for j in 0...grainTableView.numberOfRows(inSection: i) - 1 {
if let cell = tableView(grainTableView, cellForRowAt: [i,j]) as? UITableViewCell {
cell.accessoryType == .none
}
}
}
}
}

//

func removeChecks() {

if let grainTableView = delegate?.tableView {

delegate?.shouldClear = true

grainTableView.reloadData()

}

}

关于ios - 取消选中 Swift4 中的 TableView 所有 TableView 选择,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50669103/

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