gpt4 book ai didi

swift - 在 Tableview 上保存 didSelectRowAt

转载 作者:行者123 更新时间:2023-11-28 13:42:37 25 4
gpt4 key购买 nike

我想记录我上次关闭的didselectrow。我想用 userdefaults 保存我选择的 didselectrowat。当我尝试将数据分配给 indexpath 时,出现错误“无法分配给值:'indexPath' 是一个'let'常量'。我该如何记住 indexpath?

 var savedata: IndexPath?

override func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath) {
super.tableView(tableView, didSelectRowAt: indexPath)
// tableView.deselectRow(at: indexPath, animated: true)
print("deselectRow", indexPath)
let save11 = UserDefaults.standard.integer(forKey: "deselectRow")
savedata = IndexPath(row: save11, section: 0)


tableView.selectRow(at: savedata, animated: true, scrollPosition: .middle)


if indexPath == [3,0] {
UserDefaults.standard.set(60, forKey: "seconds")
UserDefaults.standard.set(0, forKey: "deselectRow")

}
if indexPath == [3,1] {
UserDefaults.standard.set(900, forKey: "seconds")
UserDefaults.standard.set(1, forKey: "deselectRow")

}

最佳答案

改变indexPath参数是没有用的,因为它根本没有作用。

要选择另一行,您必须调用 selectRow(at:animated:scrollPosition:)

didSelectRowAt 中调用 super 不是强制性的

var savedata: IndexPath?

override func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath) {
let save11 = UserDefaults.standard.integer(forKey: "deselectRow")
savedata = IndexPath(row: save11, section: 0)

tableView.selectRow(at: savedata, animated: true, scrollPosition: .middle)

if indexPath.row == 3 {
UserDefaults.standard.set(60, forKey: "deselectRow")
}

关于swift - 在 Tableview 上保存 didSelectRowAt,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55844459/

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