Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/swift/16.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Arrays 按可选属性排序的Swift数组_Arrays_Swift - Fatal编程技术网

Arrays 按可选属性排序的Swift数组

Arrays 按可选属性排序的Swift数组,arrays,swift,Arrays,Swift,我使用以下代码对数组进行排序: self.sortedArray = unsortedArray.sorted{($0 as PersonEntity).name!.caseInsensitiveCompare(($1 as PersonEntity).name!) == .orderedAscending} 我不喜欢的是这段代码是强制展开的,在这种情况下,如何迭代可选代码来对它们进行排序 我发现一个带有排序布尔值的选项是可选的,但是当我尝试使用保护值对字符串选项的属性进行排序时,它会崩溃,日

我使用以下代码对数组进行排序:

self.sortedArray = unsortedArray.sorted{($0 as PersonEntity).name!.caseInsensitiveCompare(($1 as PersonEntity).name!) == .orderedAscending}
我不喜欢的是这段代码是强制展开的,在这种情况下,如何迭代可选代码来对它们进行排序


我发现一个带有排序布尔值的选项是可选的,但是当我尝试使用保护值对字符串选项的属性进行排序时,它会崩溃,日志意外地找到nil。

使用
将nil名称映射到某个值,使其按需排序。不相关,但不需要将
转换为PersonEntity
即可
.compactMap
首先在您的链中。可能是重复的,请尝试此操作,
unsortedArray.sorted{$0.name?.caseInsensitiveCompare($1.name???)===.orderedAscending}