gpt4 book ai didi

ios - 当 iPad 上的 reloadData 从非零部分变为零部分时,UITableViewController 似乎不会刷新

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

在 iPad 上的 UISplitViewController 中,我的右侧部分有一个 UITableViewController,显示左侧所选内容的详细信息。因此,当我取消选择左侧的所有内容,从而在详细信息 View 中将详细信息对象设置为 nil 时,我希望清除表格并显示一条消息以邀请用户选择一个元素。

这就是为什么我的详细 UITableViewController 子类中有以下内容:

var reference: Reference? {
didSet {
self.refreshInterface()
}
}

func refreshInterface() {
if let titleLabel = self.titleLabel {
if let ref = reference {
titleLabel.text = ref.projectName
} else {
titleLabel.text = NSLocalizedString("Please select a reference", comment: "")
}
}
tableView.reloadData()
}

override func numberOfSections(in tableView: UITableView) -> Int {
if(self.reference != nil) {
return 5
} else {
return 0
}
}

我用调试器检查过,在将引用设置为 nil 后,调用 numberOfSections 并返回 0。但是由于某种原因,表的所有 UI 都没有被清除。我仍然拥有与选择引用时相同的行和部分。我错过了什么吗?这是 Cocoa Touch 中的潜在错误吗?

最佳答案

我明白了。问题不在我的详细 View Controller 中,而是在主视图 Controller 中。我没有考虑到,当我在主视图 Controller 中选择一项时显示详细 View Controller 时,分割 View Controller 每次都会创建详细 View Controller 的另一个实例。由于我在旧实例上设置详细信息对象,因此旧实例已更新,但已显示另一个实例。要解决问题,我所要做的就是确保始终在详细 View Controller 的当前实例上设置详细对象。

我希望这对某人有用。

关于ios - 当 iPad 上的 reloadData 从非零部分变为零部分时,UITableViewController 似乎不会刷新,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52707502/

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