Как отсортировать вложенный массив в Swift 5? - PullRequest
0 голосов
/ 29 октября 2019

`Я не могу понять, как сортировать людей по именам. Буду признателен за любую помощь.

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

import SwiftUI

struct family: Codable, Identifiable {
    var id: Int
    var names: [people]
}
struct people: Codable, Identifiable {
    var id: Int
    var name: String
}
let fam = family(id: 1, names: [people(id: 1, name: "john"),
                              people(id: 2, name: "jane"),
                              people(id: 0, name: "mark"),
                              people(id: 3, name: "joe"),
                              people(id: 4, name: "carol")
                              ])
print(fam.names[0])
print(fam.names[1])
print(fam.names[2])
print(fam.names[3])
print(fam.names[4])

Я хотел бы отсортировать по идентификатору или имени.

Ответы [ 2 ]

1 голос
/ 29 октября 2019

Просто используйте sorted(by:)

fam.names.sorted(by: { $0.id > $1.id })
0 голосов
/ 29 октября 2019

Если вы хотите расположить массив имен внутри объекта fam, вам сначала нужно изменить его на var объявленный

var fam = family(...

Затем вы можете применить sort(by:), приведенный ниже пример сортировки наимя по возрастанию

fam.names.sort(by: {$0.name < $1.name})
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...