結論から書くと結果はこんな感じ。
性別とか年齢とか書いてありますけどそこは無視してください。
作るのめんどくさかったので、個人で作成してるアプリの一部をそのまま撮りました。
今回は別のViewControllerから、最初から存在する Main.storyboardと ViewControllerに値を渡し表示するという想定です。
まず別のViewControllerのプログラムはこちら。
class 別のViewController: UIViewController {
@IBOutlet weak var textField: UITextField!
override func viewDidLoad() {
super.viewDidLoad()
let storyboard = UIStoryboard(name: "Main", bundle: nil)
let nextVC = storyboard.instantiateViewController(withIdentifier: "ViewController") as! ViewController
//textFieldの内容ををMain.storyboardのViewControllerの変数に代入
nextVC.name = textField.text!
present(nextVC, animated: true, completion: nil)
}
}
上記ソース↓の部分は
let storyboard = UIStoryboard(name: "Main", bundle: nil)
let nextVC = storyboard.instantiateViewController(withIdentifier: "ViewController") as! ViewController
↓ようになっている想定です。
そしてMain.storyboardのViewControllerのソースはこちら。
import UIKit
class ViewController: UIViewController {
@IBOutlet weak var nameLabel: UILabel!
var name = ""
override func viewDidLoad() {
super.viewDidLoad()
nameLabel.text = name
}
}
Segueを使って値を渡す方法もありますが、案件でSegueを使って値を渡すことなんてないのでこちらのやり方で学んだ方がいいかなと。
参考までに。