ios - 如果我的数组中有数据,空的 tableview 标签会闪烁一秒钟
问题描述
嗨,我搜索了堆栈溢出并看到如果没有表视图结果,则在屏幕上显示“无结果”, 这很有用,但不完全是我想要的。我的问题是当我按照这些步骤操作时它可以正常工作。但如果我的 tableview 确实有数据,它会在填充我的数据之前闪烁我的“空 tableview 标签”一两秒。在我看来,这看起来很糟糕。
我有一个通过我的 tableview 上的插座连接的标签,称为 emptyTableViewlbl。这是我的代码被调用。在此先感谢任何帮助。谢谢
extension FeedViewController: UITableViewDataSource, UITableViewDelegate {
func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
if posts.isEmpty {
emptyTableViewLbl.isHidden = false
emptyTableViewLbl.text = "Empty tableview label"
return 0
} else {
emptyTableViewLbl.isHidden = true
}
return posts.count
}
并尝试过
override func viewDidLoad() {
super.viewDidLoad()
tableView.dataSource = self
tableView.delegate = self
loadPosts()
if posts.isEmpty {
emptyTableViewLbl.isHidden = false
emptyTableViewLbl.text = "Empty"
} else {
emptyTableViewLbl.isHidden = true
}
}
解决方案
你可以didSet
这样做
假设你的数组是
var posts:[Post] {
didSet {
if posts.isEmpty {
emptyTableViewLbl.isHidden = false
} else {
emptyTableViewLbl.isHidden = true
tableview.reloadData()
}
tableview.isHidden = !emptyTableViewLbl.isHidden
}
}
推荐阅读
- c++ - QTimer过期时如何调用多个函数?
- python - 索引过多的pandas concat字典问题
- javascript - Discord 语音消息插件:不支持 getUserMedia()
- c++ - VS2019 popen 不使用环境变量
- java - SeekBarPreferences.setOnSeekBarChangeListener
- batch-file - 如果 %sx% == 1 (goto %zz5%),此时 GOTO 是意外的
- javascript - 在 redux 更改状态之前加载组件
- testng - 即使数据提供者的一种方法失败,也不应跳过依赖于 TestNG 的方法
- rust - 如何检查 &str 是否仅包含给定的字符片?
- foreach - SwiftUI 如何记录当前在 CollectionView 上显示的网格项的索引?