ios - 排序数组导致错误的数据显示到单元格中

标签 ios arrays swift sorting

我有一系列房间,我想按 usercount/topvotes 之类的东西过滤。

我正在点击按钮以触发过滤器更改并将值设置为“CurrentSearch”,重新加载我的表数据,并在我的 cellForRowAtIndexPath 中检查当前的 currentsearch 值并相应地过滤列表。

func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {


        if currentSearch == "new" {
        self.PersonalSearchesList = PersonalSearchesList.sorted{ $0.users < $1.users }

        } else if currentSearch == "top" {

          self.PersonalSearchesList = self.PersonalSearchesList.sorted{ $0.latestUser < $1.latestUser }

        }

我的图像/标签在过滤之前加载得非常好。在初始加载时,我将 currentSearch 设置为“new”,它运行良好。只有当我开始尝试在过滤器之间交换时,事情才会变得很奇怪。我得到了随机的单元格副本,当我在过滤器之间交换时,不正确的负载保持一致......因为相同单元格的相同副本被制作/放置在相同的位置。

我有它,当我点击一个单元格时,单元格的信息被打印出来..尽管单元格信息加载不正确,但实际信息是正确的,列表按应有的顺序排列。

有什么想法吗?

最佳答案

你应该这样做:

var currentSearch: String {
  didSet {
     // sort your array
    tableView?.reloadData() // reload data
  }
}

关于ios - 排序数组导致错误的数据显示到单元格中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39503206/

相关文章:

ios - 尝试在 iOS 中验证电子邮件,崩溃不知道为什么?

java - 尝试使用 Array 而不是 ArrayList 从具有用户输入的文本文件中读取特定行

c++ - 我怎么知道我的数组在缓存中?

javascript - 在 Chart.js 工具提示中显示 PHP 数组

ios - 从数组中获取随机字符串

ios - 从带有应用扩展的 iOS 容器应用共享 Firebase 身份验证 session

ios - 移动 Safari : change background color of picker view (select)

iOS Swift - UITableView 的最佳方法

swift - TvOS:使用 CollectionViewCells 作为按钮

javascript - 如何在 js 警报上使用 i18next 显示翻译后的字符串?