斯威夫特"模糊地使用运算符'>'"

Moi*_*din 3 swift xcode6

我刚刚下载了Xcode6-beta6.对于以下代码,我收到编译器错误"模糊使用运算符'>'"

reversed = sorted(names, { s1, s2 in s1 > s2 } )

它之前在Xcode6-beta5中运行.

代码来自apple swift文档https://developer.apple.com/library/prerelease/ios/documentation/Swift/Conceptual/Swift_Programming_Language/Closures.html#//apple_ref/doc/uid/TP40014097-CH11-XID_152

有任何想法吗?

Mic*_*ata 5

我也有同样的问题

if ("aa" > "bb")  {
    [...]
}
Run Code Online (Sandbox Code Playgroud)

revers = sorted(names,{$ 0> $ 1})

显然,XCode无法正确推断参数的正确类型"String",从而在运算符上产生歧义.我的解决方案是显式地声明类型中的至少一个,这也使代码更具可读性.像:

if ("aa" as String > "bb")  {
    [...]  
}
Run Code Online (Sandbox Code Playgroud)

reversed = sorted(names,{$ 0 as String> $ 1})