【问题标题】:SwiftUI Sort array of custom objects by idSwiftUI 按 id 对自定义对象数组进行排序
【发布时间】:2020-04-03 19:44:40
【问题描述】:

//人物结构

struct Person {
            var id: Int
            var age: Int
            var nPerson: [Person]
        }

// Person的数组类型

 var persons = [

        Person(id: 123, age: 23, nPerson: []),
        Person(id: 421, age: 45, nPerson: [

            Person(id: 100, age: 13, nPerson: [
            Person(id: 5, age: 23, nPerson: []),
            Person(id: 112, age: 89, nPerson: []),
            ]),
            Person(id: 42, age: 33, nPerson: []),
            Person(id: 112, age: 73, nPerson: []),
            Person(id: 126, age: 23, nPerson: []),

        ]),

        Person(id: 343, age: 5, nPerson: [

            Person(id: 22, age: 109, nPerson: []),
            Person(id: 421, age: 102, nPerson: []),
            Person(id: 141, age: 12, nPerson: []),
            Person(id: 136, age: 54, nPerson: []),

        ])

    ]

我在我有id 和nPerson 的人内部有一个对象Person,而nPerson 是Person 的一种。 我想按 id 对数组进行排序,这种排序也可以在 nPerson 数组中工作。

【问题讨论】:

    标签: arrays sorting struct swiftui external-sorting


    【解决方案1】:

    您可以使用 Swift 内置排序功能来存档。

    let sortedPersons = persons.sorted {$0.id < $1.id}.map { (person) -> Person in
    
             var tempPerson = person
             let shortednPersons = (person.nPerson).sorted { $0.id < $1.id }
             tempPerson.nPerson = shortednPersons
    
             return tempPerson
    
    }
    

    【讨论】:

      猜你喜欢
      • 2018-05-12
      • 1970-01-01
      • 1970-01-01
      • 2021-01-20
      • 2019-05-26
      • 2014-06-26
      • 1970-01-01
      • 2017-04-27
      • 2018-02-14
      相关资源
      最近更新 更多