2016-12-09 7 views
-1

私はちょうどコードを始めましたが、私はすでに私が理解できないいくつかのエラーに遭遇しました。私を助けてくれますか?このシーケンスでエラーが見つかりません。スレッド1:シグナルSIGABRT

class ViewController: UIViewController { 

    @IBOutlet var getNumber: UITextField! 

    @IBAction func computePrime(_ sender: AnyObject) { 

     if let userString = getNumber.text {           // Convert input to Int 
      let userNumber = Int(userString) 

      if let number = userNumber { 
       var i = 2                // Variable declaration 
       var prime = true 

       while i < number {              // Prime calculation 
        if number & i == 0 { 
         prime = false 
         i = number 
        } else { 
         i += 1 
        } 
       } 

       if prime == false {              // Output result 
        displayResult.text = "It is not prime" 
       } else { 
        displayResult.text = "It is prime" 
       } 
      } else { 
       displayResult.text = "Please enter a positive whole number"     // Error message in case value entered is not good 
      } 
     } 
    } 

    @IBOutlet var displayResult: UILabel! 





    override func viewDidLoad() { 
     super.viewDidLoad() 
     // Do any additional setup after loading the view, typically from a nib. 
    } 

    override func didReceiveMemoryWarning() { 
     super.didReceiveMemoryWarning() 
     // Dispose of any resources that can be recreated. 
    } 

私はアプリがクラッシュし、それを実行しようと、それは私にこのエラーを与える:

"Thread 1: signal SIGABRT"

は、この行の強調表示:AppDelegate.swiftファイルから

"class AppDelegate: UIResponder, UIApplicationDelegate {"

を、どの私は変更していない。

どうすれば修正できますか?

ありがとうございました!

+0

例外のブレークポイントを設定して、エラーの行を取得します。ほとんどの場合、IBOutletは接続されていません。ところで、あなたのプライムアルゴリズムは動作しません。 – vadian

+0

iOSアプリのデバッグについて学ぶ - http://www.raywenderlich.com/10209/my-app-crashed-now-what-part-1 – rmaddy

答えて

0

おそらく、StoryboardでgetNumberオブジェクトとdisplayResult(IBOutlet)オブジェクトが接続されていない可能性があります。答え チェック:システムが戻ってスローされた例外の例外ハンドラを持つ層を見つけようとしてトップにすべての方法を回帰しているため

IBOutlet not connecting in SWIFT

0

強調表示された行は、アプリケーションデリゲートです。 Xcodeコンソールの最後の数行をチェックして、どこに原因があるのか​​を示す例外の説明を確認してください。

例外の瞬間に実行を停止して、原点を見ることができます。これを行う方法については、多くの記事があります。

関連する問題