gpt4 book ai didi

swift - 根据 Swift 中的可选字符串属性对自定义对象数组进行排序

转载 作者:可可西里 更新时间:2023-11-01 01:49:42 26 4
gpt4 key购买 nike

我正在尝试快速对类型为“ObjCClass”的数组进行排序,这是一个 objective-c 类。 'ObjCClass' 具有属性 'name',它是 String 类型的可选属性。我想根据“名称”属性按升序对数组中的对象进行排序。如果不强制展开,我怎么能做到这一点?

我试过用这个:

var sortedArray = unsortedArray.sorted(by: { $0.name as String! < $1.name as String!})

我一直在尝试使用 guard 和 if/let 语句来检查属性“name”是否存在,但我一直遇到错误,因为我认为我做的不正确。如何检查数组中每个对象的属性是否存在,然后进行排序?

最佳答案

首先过滤掉不需要的条目,然后将name与force-unwrap进行比较

var sortedArray = unsortedArray
.filter { $0.name != nil }
.sorted { $0.name! < $1.name! }

注意:

  • Force unwrap 在这种情况下很好,因为 filter 移除了 nil 的情况,当我们进行 sorted 时,姓名 必须存在

关于swift - 根据 Swift 中的可选字符串属性对自定义对象数组进行排序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55379002/

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