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