私は新しいアプリケーションを作成しています。1つのビューコントローラから別のビューコントローラにテキストを転送する方法
1つのビューコントローラにテキストフィールドがあり、別のビューコントローラ(ViewControllerクラスの両方のView Controller)にラベルがある場合、テキストフィールドに何かを入力してから、次のViewControllerに移動してテキストを表示できます?あなたが先コントローラのプロパティを設定しセグエの準備で元のコントローラで
私は新しいアプリケーションを作成しています。1つのビューコントローラから別のビューコントローラにテキストを転送する方法
1つのビューコントローラにテキストフィールドがあり、別のビューコントローラ(ViewControllerクラスの両方のView Controller)にラベルがある場合、テキストフィールドに何かを入力してから、次のViewControllerに移動してテキストを表示できます?あなたが先コントローラのプロパティを設定しセグエの準備で元のコントローラで
:あなたの先のコントローラのビューで
override func prepare(for segue: UIStoryboardSegue, sender: Any?) {
if let detailViewController = segue.destination as? DetailViewController {
detailViewController.titleText = mylabel.text
}
}
はあなたのラベルフィールドに、このプロパティを割り当ててロードしました。ラベルのviewDidLoadが呼ばれるまで初期化されていることが保証されていないので、あなたがprepareForSegueであなたのラベルに直接割り当てることはできません
var titleText = ""
override func viewDidLoad() {
super.viewDidLoad()
label.text = titleText
}
注意。なぜその価値が財産になるのか適切なモデルビューの分離はまた、1つのコントローラが別のコントローラのビューにとにかく書き込むべきではないことを指示する。
さらに重要なことに、可能であれば、ラベルを直接更新しないでください。 – rmaddy
[Suragach's answer](http://stackoverflow.com/a/31934786/4029561)は、迅速に対応しています。 – NSNoob