【问题标题】:Order a list of Core Data entities alphabetically off one attribute - SwiftUI从一个属性中按字母顺序排列核心数据实体列表 - SwiftUI
【发布时间】:2021-01-16 18:30:22
【问题描述】:

我的项目中有两个实体,DBTeam 和 DBPlayer。 DBTeam 与 DBPlayer 具有一对多的关系,允许多个玩家与一个团队相关联;然后 DBPlayer 有一个名为 name 的属性,这是我想要基于字母顺序的属性。按字母顺序列出这些名称的最简单方法是什么?

这是我目前用来列出它们的代码。我试过.sorted,但这只是产生了其他错误。

struct PlayersView: View{

    var team: DBTeam

    var body: some View{
        NavigationView{
            List{
                ForEach(Array(team.player as? Set<DBPlayer> ?? []), id: \.id){ player in //I want to sort this ForEach here
                    Text(player.name ?? "Player Name")
                }
            }
            .navigationBarTitle("Players")
        }
        .navigationViewStyle(StackNavigationViewStyle())
    }
}

【问题讨论】:

    标签: swift core-data swiftui nsset


    【解决方案1】:

    尝试使用localizedCaseInsensitiveCompare

    List {
        let array = Array(team.player as? Set<DBPlayer> ?? [])
            .sorted { $0.name.localizedCaseInsensitiveCompare($1.name) == .orderedAscending }
        ForEach(array, id: \.id) { player in
            Text(player.name ?? "Player Name")
        }
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-05-14
      • 2018-09-15
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多