質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
Swift

Swiftは、アップルのiOSおよびOS Xのためのプログラミング言語で、Objective-CやObjective-C++と共存することが意図されています

Q&A

解決済

1回答

209閲覧

swift 2画面間のプログラミングについて

kirino

総合スコア7

Swift

Swiftは、アップルのiOSおよびOS Xのためのプログラミング言語で、Objective-CやObjective-C++と共存することが意図されています

0グッド

0クリップ

投稿2017/10/31 06:15

編集2017/10/31 06:38

プログラミング初心者で、初めて質問します。
iOSのアプリ開発を勉強中です。

実行したいこと:
1つ目の画面でいくつかボタンを作成しました。
そのうち、A、B、C、のボタンを押すと、次の画面中のimageViewの画像が「画像1」から「画像2」に変わるようにしたいです。

Xcode: Version 9.0.1

書籍やネットで調べましたが、1つ目の画面から2つ目の画面に情報を伝えるコードをどのように書いたら良いのかわからず、混乱しました。
アドバイスいただけると嬉しいです。
よろしくお願いします。

追記情報:
1つ目の画面のA、B、C以外のボタン(次の画面への遷移ように設置)から、「controlキー」で次の画面にドッラッグ&ドロップで遷移するように指定しました。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

fuzzball

2017/10/31 06:27

次画面への遷移はどのような方法で行っているのでしょうか?
guest

回答1

0

ベストアンサー

「controlキー」で次の画面にドッラッグ&ドロップで遷移するように指定しました。

これをセグエと言います。

ボタンをタップしてセグエが発動(遷移)するときに、遷移元ViewControllerのprepare(for:sender:)が呼ばれますので、その中で遷移先ViewControllerに値を渡します。

最低限のコードを書いておきます。

swift

1//遷移元: ViewController 2override func prepare(for segue: UIStoryboardSegue, sender: Any?) { 3 if let vc = segue.destination as? SecondViewController { 4 vc.value = 999 5 } 6 /* 7 複数のセグエがある場合は、Storyboard上でセグエのIdentifierを設定しておき、 8 segue.identifierで判別して下さい。 9 */ 10}

swift

1//遷移先: SecondViewController 2var value: Int? //この変数で値を受け取る 3 4override func viewDidLoad() { 5 super.viewDidLoad() 6 7 //受け取った値を表示してみる 8 print("value =", value ?? "(nil)") 9 //=> 999 10}

投稿2017/10/31 07:06

fuzzball

総合スコア16731

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

kirino

2017/10/31 14:13

素早いご回答をありがとうございます。 教えていただいたことを取り入れてプログラムを書いてみましたが、エラーが出るようなので、もう少し頭を整理してみます。また質問するかと思いますが、その際はよろしくお願いいたします。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問