【发布时间】:2016-11-16 06:52:50
【问题描述】:
在将我的代码转换为 swift 3 后,我遇到了一个错误:
noteObjects.sort (comparator: { (first : AnyObject, second : AnyObject) -> ComparisonResult in
if let f : String = (first as! RChannels).name! {
let s : String = (second as! RChannels).name!
return f.compare(s)
}
} as! (Any, Any) -> ComparisonResult) // error here
as! (Any, Any) -> ComparisonResult) 这一行给了我一个错误,上面写着 (lldb),没有任何其他描述,任何人都可以解释这里出了什么问题?在转换之前是这样的:
noteObjects.sortUsingComparator { (first : AnyObject, second : AnyObject) -> NSComparisonResult in
if let f : String = (first as! RChannels).name! {
let s : String = (second as! RChannels).name!
return f.compare(s)
}
}
noteObjects 是一个 NSMutableArray
【问题讨论】:
-
为什么要用那个笨重的比较器和
NSMutableArray?原生 Swift 数组类型和排序函数效率更高。
标签: ios swift3 comparator lldb xcode8.1