gpt4 book ai didi

ios - Swift-对NSSSet的内容进行排序

转载 作者:行者123 更新时间:2023-12-01 18:05:48 24 4
gpt4 key购买 nike

我正在使用核心数据来获取诊所列表,这些诊所具有名为Doctors的关系映射到Doctor实体。

我的问题是,每次获取NSSSet类型的医生时,记录都是随机获取的,我想使用Doctor.name按字母顺序对其进行排序

我尝试了以下

self.doctorList = clinic.doctors?.sortedArray(using: [NSSortDescriptor(key: "name", ascending: true)])

我要去哪里错了?

谢谢。

最佳答案

(NS)Set是无序集合类型。

要订购Set,请将其转换为具有allObjects属性的数组,并对数组进行排序。

self.doctorList = (clinic.doctors!.allObjects as! [Doctor]).sorted(by: { $0.name < $1.name })

您甚至可以直接对集合进行 排序,但结果始终是一个数组
self.doctorList = (clinic.doctors as! Set<Doctor>).sorted(by: { $0.name < $1.name })

而且,无论如何,如果将该集合声明为本地 Set<Doctor>,则可以忽略类型转换。

我建议将 doctors关系声明为非可选。如果没有相关的医生,则该集合为空。但是没有任何医生的诊所是极不可能的;-)

关于ios - Swift-对NSSSet的内容进行排序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44989871/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com