[英]Swift 2 Converting from String To Number
我正在跟蹤用於iOS
開發的斯坦福視頻,並且正在將Xcode 7
與Swift 2
。 我逐行從視頻中編寫了代碼,但是仍然出現錯誤。
import UIKit
class ViewController: UIViewController
{
@IBOutlet weak var display: UILabel!
var userIsTyping = false
@IBAction func AppendDigit(sender: UIButton) {
let digit = sender.currentTitle!
if userIsTyping {
display.text = display.text! + digit
} else {
display.text = digit
userIsTyping = true
}
}
var operandStack = Array<Double>()
@IBAction func enter() {
userIsTyping = false
operandStack.append(displayValue)
}
var displayValue: Double {
get{
return NSNumberFormatter().numberFromString(display.text!)!.doubleValue
}
set (newValue){
display.text = "\(newValue)"
userIsTyping = false
}
}
}
在我返回的那條線上
NumberFormatter().numberFromString(display.text!)!.doubleValue
我得到一個錯誤
線程1:EXC_BAD_INSTRUCTION(代碼= EXC_1386_INVOP,子代碼= 0x0)
轉換可能會失敗。 結果可以為零。 “!” 表示“編譯器,我100%肯定結果永遠不會為零,所以如果結果永遠為零,請崩潰”。 猜猜是什么,有時是零。
使用“如果讓”。
PS。 我認為采用用戶界面元素(例如按鈕的標題)並假設它們具有某些值是非常非常不健康的。
您最好用更簡單的方法代替該return語句:
return Double(display.text!)!
讓Number =(NSNumberFormatter()。numberFromString(xtxt.text!)as!Double
return Number
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.