gpt4 book ai didi

ios - SortInPlace 表达式太复杂 - Xcode 更新

转载 作者:行者123 更新时间:2023-11-30 14:03:21 25 4
gpt4 key购买 nike

更新到 Xcode 7 后,我的 iOS 应用程序停止编译(由于几次“更改”),但是我想出了一些我不知道如何变得更简单的东西。我需要根据以下三个条件对数组进行排序:

        appDelegate.all_breeds!.sortInPlace { (a, b) -> Bool in
(a.breedNameES == nil) ||
(b.breedNameES == nil) ||
(a.breedNameES! < b.breedNameES!)
}

基本上,我需要查看西类牙语中的品种 A 是否为零,或者西类牙语中的品种 B 是否为零,否则我需要比较这两个品种,并按字母顺序对它们进行排序。

在我更新到 xCode 7 之前,这一直没有问题,现在我得到的错误是

Expression was too complex to be solved in reasonable time; 
consider breaking up the expression into distinct subexpressions.

问题是我无法将其分解为子表达式,它是我能想到的最基本的。

有什么想法可以解决这个问题吗?

问题的一部分显然是 Breed 是我的 AppDelegate 中的一个结构,这迫使编译器迭代所有结构来找到它。这使得表达式需要更多时间来编译。

最佳答案

错误信息

Expression was too complex to be solved in reasonable time

可能有多种原因。一是编译器无法推断出从上下文中自动生成表达式类型。在那种情况下它有助于添加显式类型注释。对于你的情况

appDelegate.all_breeds!.sortInPlace { (a : AppDelegate.Breed, b : AppDelegate.Breed) -> Bool in
(a.breedNameES == nil) ||
(b.breedNameES == nil) ||
(a.breedNameES! < b.breedNameES!)
}

关于ios - SortInPlace 表达式太复杂 - Xcode 更新,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32722052/

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