【问题标题】:How to sort array inside tuple stored in dictionary如何对存储在字典中的元组内的数组进行排序
【发布时间】:2020-08-02 09:30:21
【问题描述】:

我有这样的元组字典:

var items = [(String, [LogSymptomTemp])]()

我用它来显示带有部分的分组表视图。

如何按严重性对 LogSymptomTemp 数组的项目进行排序?

struct LogSymptomTemp {

var symptomId = String()
var symptomName = String()
var trackedInRow = Int()
var severity = Int() }

作为临时解决方案,我在我的 tableView cellForRowAt 方法中进行排序,但这不是这样做的地方:

let logItems = items[indexPath.section].1

let finalList = logItems.sorted(by: { $0.severity > $1.severity })

我习惯了简单的数据结构,我可以做简单的排序,但我在这个方面很挣扎,因为它对我来说并不那么明显。

【问题讨论】:

  • 那不是字典;这实际上是KeyValuePairs。你需要哪个?
  • 好的,对不起,我命名错了,但我仍然需要对 [LogSymptomTemp] 中的项目进行排序

标签: ios arrays swift sorting dictionary


【解决方案1】:

你可以使用:

for var item in items {
   item.1.sort(by: { $0.severity > $1.severity })
 }

将每个项目作为变量有助于改变每个项目,因为排序会改变元组中存在的数组。

【讨论】:

  • 谢谢,我也想出了这样的解决方案,但是如何将那个项目放回对应的键?
  • sort 自身发生变异,而 sorted 返回结果。
  • 想通了,如果您可以用最新评论扩展您的答案,我可以将其标记为已接受,谢谢!
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2011-11-13
  • 1970-01-01
  • 2020-01-18
  • 1970-01-01
  • 1970-01-01
  • 2020-04-13
  • 2016-09-28
相关资源
最近更新 更多