我對轉換錯誤有點困惑。Xcode 8.0和Swift 3.0轉換:尋找特定轉換錯誤的解釋
我遷移我的項目形式雨燕2.3〜3.0雨燕
func updateCelsiusLabel() {
if let value = celsiusValue {
//This was the original code (that worked but is) failing after migration
//due to: Argument labels do not match any available overloads
celsiusLabel.text = numberFormatter.string(from: NSNumber(value))
//This is my code trying to fix this issue and the project is now compiling
//and everything is fine
celsiusLabel.text = numberFormatter.string(from: value as NSNumber)
}
else { celsiusLabel.text = "???"
}
}
起初我還以爲是在雨燕3.0投Type(value)
是現在不允許,但我檢查,我得到絕對沒有編譯器警告。有人可以告訴我NSNumber(value)
的問題是什麼?
據我所知value as NSNumber
和NSNumber(value)
應該是一樣的東西。
好的謝謝,這是從蘋果奇怪的決定,但我現在得到它。 – Ruvi