Как отсортировать массив внутри кортежа, хранящегося в словаре - PullRequest
1 голос
/ 20 апреля 2020

У меня есть такой словарь кортежей:

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 })

Я привык к простым данным структуры, и я могу сделать простую сортировку, но я борюсь с этим, поскольку это не так очевидно для меня.

1 Ответ

2 голосов
/ 20 апреля 2020

Вы можете использовать:

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

превращение каждого элемента в переменную помогает в мутировании каждого элемента, так как сортировка мутирует массив, присутствующий в кортеже.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...