2017-03-05 10 views
0

申し訳ありませんイム、「スレッド1:EXC_BAD_INSTRUCTION(コード= EXC_I386_INVOPは、治まる= 0x0の)

Imは私のログインを設定しようとしている..私は間違った形式でこれを掲示することができるように、スタックオーバーフロー新しいので、ユーザユーザー名とパスワードを2つのテキストフィールドに入力します。既にアカウントを作成している場合は、「ログイン」ボタンを押して続行します。アカウントを新規作成すると、「登録」ボタンが押され、このコントローラでは、以前のテキストフィールドに入力したデータを取り込み、登録ページの新しいユーザー名とパスワードのテキストフィールドに入力します。

Iveはこれを行う方法についてYouTubeのビデオに従おうとしましたしかし、私は得るこの愚かなエラーを引き起こし、私はそれを回避する方法を知らない。コードの一番下の行で

// 
// ViewController.swift 
// Silver 
// 
// Created by Lakeside Software on 3/3/17. 
// Copyright © 2017 KenSchumacher. All rights reserved. 
// 

import UIKit 
import Firebase 

class ViewController: UIViewController { 

@IBOutlet weak var returningEmail: UITextField! 


@IBOutlet weak var returningPassword: UITextField! 

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. 
} 

@IBAction func LoginFunction(_ sender: Any) { 

    func login() { 

     FIRAuth.auth()?.signIn(withEmail: returningEmail.text!, password: returningPassword.text!, completion: { 
      user, error in 

      if error != nil{ 
       //Password is not right 
       print("Password is incorrect") 
      } 
      else { 
       //password is correct 
       print("Welcome in") 
      } 
     }) 
    } 
} 
@IBOutlet weak var UsernameForRegistrationText: UITextField! 


override func prepare(for segue: UIStoryboardSegue, sender: Any?) { 
    var DestViewController = segue.destination as! viewTwo 


    if UsernameForRegistrationText == nil 
    { 
    DestViewController.viewTwo.text = "0" 
    } 
    else { 
    //DestViewController.testLabel.text =  UsernameForRegistrationText.text! 
    DestViewController.viewTwo.text = "5" 
} 
} 

} 

、私は「スレッド1を得る:EXC_BAD_INSTUCTION(コード:EXC_I386_INVOPは、0x0の

致命的なエラーが治まる:オプションの値

をアンラップしながら、予想外に私が手にnilを見つかりましたこのエラーは、私はすでに値がnilであるかどうかを判断するif elseステートメントを既に設定していると思います。

コードが正しく機能し、エラーがないかどうかを確認するために0と5を入れます。 。

誰でも助けがありますか?私は大いに感謝します。ありがとう。

答えて

0

UsernameForRegistrationTextがnilであるかどうかをテストします。

ただし、でない場合は、UsernameForRegistrationText.textがゼロであるかどうかをテストしてください。そのため、それがnilである場合は、UsernameForRegistrationText.text!

は、スウィフトに、あなたが参照した後、感嘆符(!)を置く任意の時間を覚えていると言うとき、あなたがクラッシュし、あなたがクラッシュするを求めあります。

関連する問題