2017-08-01 9 views
0

ViewControllerからNewVCにデータを渡すことができません - 別のUIViewController。私は何時間も何も結果を出さなかったので、これを解決するための最後の手段です。機能を実行するiOS - 別のViewControllerにデータを渡すことができません

For underlaying idea :

My Code For ViewController

class ViewController: UIViewController{ 
    @IBOutlet weak var name: UITextField! 
    @IBOutlet weak var lastName: UITextField! 

    override func prepare(for segue: UIStoryboardSegue, sender: Any?) { 

    switch segue.identifier { 

    case "seg_One"? : 

     if let source = segue.source as? ViewController 
      ,let destination = segue.destination as? NewVC { 

       destination.name.text = source.name.text //Error  
       destination.lastName.text = source.lastName.text //Error 

      } 

     default: break 

     } 

    } 

// Bunch of other code such as ViewDidLoad() 
} 

NewVC code:

class NewVC: UIViewController { 

    @IBOutlet weak var name: UILabel! 
    @IBOutlet weak var lastName: UILabel! 

    override func viewDidLoad() { 
    super.viewDidLoad() 

    }  

} 

Error is: fatal error: unexpectedly found nil while unwrapping an Optional value

+4

'prepareForSegue()'が呼び出されたときに 'IBOulet'がまだロードされておらず、nilであるからです。パブリックStringプロパティを作成する必要があります。 – Larme

+0

https://stackoverflow.com/questions/38357065/unexpectedly-found-nil-iboutlet-in-prepareforsegue https://stackoverflow.com/questions/29239648/prepareforsegue-not-setting-uilabel https://stackoverflow.com/questions/9576177/how-can-i-set-the-of-a-uilabel-following-a-segue https://stackoverflow.com/questions/25422536/swift-prepareforsegue-fatal-error-unexpectedly- found-nil-while-unwrapping-an – Larme

+0

ありがとうLarme。 :) – Biken

答えて

0

変更

class NewVC: UIViewController { 

    var strName: String? 
    var strLastName: String? 

    @IBOutlet weak var name: UILabel! 
    @IBOutlet weak var lastName: UILabel! 



    override func viewDidLoad() { 
    super.viewDidLoad() 
    self.name = self.strName 
    self.lastName = self.strLastName 

    }  

} 

割当以下のようにセグエ一方

0123以下として
+0

ありがとうございました。 :) – Biken

+0

マークが受け入れられた場合は – KKRocks

+0

私はあなたの答えを受け入れるようにしたらそれをします。私は5分待つ必要があります。 – Biken

関連する問題