2017-02-14 3 views
2
import UIKit 

class ViewController: UIViewController { 

@IBOutlet weak var username: UITextField! 

@IBAction func loginPressed(_ sender: Any) { 

    print("Username entered is \(username.text)") 

    let displayViewController = storyboard?.instantiateViewController(withIdentifier: "DisplayViewController") as! DisplayViewController 

    displayViewController.usernameEntered = username.text 

    self.navigationController?.pushViewController(displayViewController, animated: true) 

} 

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

このデータ "username"を別のビューコントローラに転送しようとしています。ここに私の他のビューコントローラのコードがある私は、そのほとんどが正常に動作しているが、displayViewController.usernameEntered = username.textあるビューコントローラから別のビューコントローラへのデータの転送を開始しようとするとブレークポイントエラーが発生する

のブレークポイントのエラーがあります:これは非常に理解されるであろう起こっている理由として

import UIKit 

class DisplayViewController: UIViewController { 

var usernameEntered:String? 

@IBOutlet weak var usernameLabel: UILabel! 


override func viewDidLoad() { 
    super.viewDidLoad() 

    // Do any additional setup after loading the view. 
} 

override func viewDidAppear(_ animated: Bool) { 
    super.viewWillAppear(animated) 

    if let usernameToDisplay = usernameEntered 
    { 
     self.usernameLabel.text = usernameToDisplay 
    } 

} 

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

} 

任意の洞察力! username.textnil

&すべきではない

+0

あなたの 'username.text'は何のエラーでもありません。 –

+1

はnilかもしれません。最初に価値があることを確認しましたか?そこにオプションのバインディングを入れてみてください – KrishnaCA

+1

あなたのストーリーボードのテキストフィールドに 'usernameLabel'を接続しましたか? – Paulw11

答えて

2

チェックを使用すると、ストーリーボードからusernameEnteredラベルのコンセントを接続していることを確認してください。

関連する問題