我刚下载了Xcode6-beta6。对于以下代码,我得到了编译器错误“操作符的模糊使用”
reversed = sorted(names, { s1, s2 in s1 > s2 } )
它以前在Xcode6-beta5上工作过。
代码来自苹果快速文档152
有什么想法吗?
发布于 2014-11-12 13:27:53
我也有过同样的问题
if ("aa“> "bb") {.}
和
反向=排序(名称,{ $0 > $1 })
显然,XCode不能正确推断参数的正确类型"String“,从而给操作符造成歧义。我的解决方案是显式声明类型--至少其中一个类型--这也使代码更具可读性。如:
if ("aa“作为字符串> "bb") {.} 反向=排序(名称,{ $0作为字符串> $1 })
发布于 2014-11-04 15:34:52
这似乎是基金会框架的桥梁中的一个缺陷。它声明重写>,以处理String与NSString、NSString和String的比较,但在匹配过程中(在某些情况下)出现冲突。您可以通过稍微修改语法来绕过它(出于某种原因):
reversed = sorted(names, { s1, s2 in return s1 > s2 } )https://stackoverflow.com/questions/25458548
复制相似问题