2016-05-06 18 views
-1
class ViewController: UIViewController { 
    @IBOutlet weak var label: UILabel! 

    var userIsInTheMiddleOfTypingNumber: Bool = false 

    @IBAction func appendDigit(sender: UIButton) { 
     let digit = sender.currentTitle! 

     if (userIsInTheMiddleOfTypingNumber) { 
      label.text = label.text! + digit 
     } 
     else { 
      label.text = digit 
      userIsInTheMiddleOfTypingNumber = true 
     } 
    } 
} 

私は現在電卓アプリを作成中です。私は、シミュレータを実行すると、中にいくつかの数字入力にsiumulatorがフリーズしてみてください、とbad_instructionの誤差が行に表示されたときにいくつかの理由について、:スレッド1:EXC_BAD_INSTRUCTION(コード= EXC_I386_INVOP、サブコード= 0x0)

label.text = digit 

は、どのように私はこのような状況を解決するのでしょうか?

+0

によって指定された理由かもしれないあなたは、全体のエラーログを投稿することができますか? – Chajmz

+0

「数字」は文字列ですか? – Echizzle

+2

クラッシュをデバッグする方法については、http://www.raywenderlich.com/10209/my-app-crashed-now-what-part-1を参照してください。 – rmaddy

答えて

1

ストーリーボードのラベルをコンセントに接続するのを忘れたようです。

1

currentTitleのプロパティがnilのように見え、クラッシュする可能性があります。あなたはどんなnilのチェックもしなくても、プロパティのアンラップを強制しています。

@IBAction func appendDigit(sender: UIButton) { 
    if let digit = sender.currentTitle { 
     if (userIsInTheMiddleOfTypingNumber) { 
      label.text = label.text! + digit 
     } 
     else { 
      label.text = digit 
      userIsInTheMiddleOfTypingNumber = true 
     } 
    } 
} 

OR

それは@dasdom

関連する問題