0
转换我的代码为SWIFT 3之后,我的一个错误:SWIFT 3换算,导致(LLDB)错误`EXC_BAD_INSTRUCTION(代码= EXC_I386_INVOP,子码)= 0x0`
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数组类型和排序功能效率更高。 – vadian