作者热门文章
- android - RelativeLayout 背景可绘制重叠内容
- android - 如何链接 cpufeatures lib 以获取 native android 库?
- java - OnItemClickListener 不起作用,但 OnLongItemClickListener 在自定义 ListView 中起作用
- java - Android 文件转字符串
我正在尝试快速对类型为“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! }
注意:
filter
移除了 nil
的情况,当我们进行 sorted
时,姓名
必须存在关于swift - 根据 Swift 中的可选字符串属性对自定义对象数组进行排序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55379002/
我正在尝试用 Swift 编写这段 JavaScript 代码:k_combinations 到目前为止,我在 Swift 中有这个: import Foundation import Cocoa e
我是一名优秀的程序员,十分优秀!