質問: プログラミング初心者で、初めて質問します。 iOSのアプリ開発を勉強中です。 実行したいこと: 1つ目の画面でいくつかボタンを作成しました。 そのうち、A、B、C、のボタンを押すと、次の画面中のimageViewの画像が「画像1」から「画像2」に変わるようにしたいです。 Xcode: Version 9.0.1 書籍やネットで調べましたが、1つ目の画面から2つ目の画面に情報を伝えるコードをどのように書いたら良いのかわからず、混乱しました。 アドバイスいただけると嬉しいです。 よろしくお願いします。 追記情報: 1つ目の画面のA、B、C以外のボタン(次の画面への遷移ように設置)から、「controlキー」で次の画面にドッラッグ&ドロップで遷移するように指定しました。
回答: > > 「controlキー」で次の画面にドッラッグ&ドロップで遷移するように指定しました。 > > > これを**セグエ**と言います。 ボタンをタップしてセグエが発動(遷移)するときに、遷移元ViewControllerの`prepare(for:sender:)`が呼ばれますので、その中で遷移先ViewControllerに値を渡します。 最低限のコードを書いておきます。 ``` //遷移元: ViewController override func prepare(for segue: UIStoryboardSegue, sender: Any?) { if let vc = segue.destination as? SecondViewController { vc.value = 999 } /* 複数のセグエがある場合は、Storyboard上でセグエのIdentifierを設定しておき、 segue.identifierで判別して下さい。 */ } ``` ``` //遷移先: SecondViewController var value: Int? //この変数で値を受け取る override func viewDidLoad() { super.viewDidLoad() //受け取った値を表示してみる print("value =", value ?? "(nil)") //=> 999 } ```