teratail header banner
teratail header banner
質問するログイン新規登録

回答編集履歴

4

追記

2018/12/02 02:48

投稿

退会済みユーザー
answer CHANGED
@@ -67,4 +67,7 @@
67
67
  }
68
68
  }
69
69
 
70
- ```
70
+ ```
71
+
72
+ // 参考にされた資料の方法/ボタンから遷移先のVCにドラッグしてセグエを作ると画面遷移した後に、prepareが動くようですので、そういった場合は、セグエの作り方をVCからVCにドラッグして作るようにしてください。
73
+ ![イメージ説明](57faea50f6bb31726e345a4b312a16f4.gif)

3

訂正

2018/12/02 02:48

投稿

退会済みユーザー
answer CHANGED
@@ -9,4 +9,62 @@
9
9
  // 遷移処理の中で用意した変数にアクセスしてtagNumberを渡す
10
10
 
11
11
  ```
12
- ラベルに表示する場合はInt型をString型にキャストして設定してあげてみてください
12
+ ラベルに表示する場合はInt型をString型にキャストして設定してあげてみてください
13
+
14
+
15
+ ### 追記 : こんなかんじでできませんか?
16
+
17
+ ```swift
18
+
19
+
20
+ import UIKit
21
+
22
+ // 遷移元VC
23
+ class ViewController: UIViewController {
24
+
25
+ override func viewDidLoad() {
26
+ super.viewDidLoad()
27
+ // Do any additional setup after loading the view, typically from a nib.
28
+ }
29
+
30
+
31
+ // ボタンタップしてタグを取得、遷移する
32
+ @IBAction func tap(_ sender: UIButton) {
33
+
34
+ let tagNumber = sender.tag
35
+
36
+ // タグをsenderでprepareに送る
37
+ performSegue(withIdentifier: "go2ndVC", sender: tagNumber)
38
+ }
39
+
40
+ override func prepare(for segue: UIStoryboardSegue, sender: Any?) {
41
+
42
+ if segue.identifier == "go2ndVC" {
43
+ // 遷移先VCを取得して
44
+ if let secondVC = segue.destination as? SecondViewController {
45
+ //遷移先VCのプロパティにアクセス、senderで送られてきたタグをIntに変換して渡す
46
+ secondVC.tappedBtnTag = sender as? Int
47
+ }
48
+ }
49
+ }
50
+ }
51
+
52
+
53
+ // 遷移先のVC
54
+ class SecondViewController: UIViewController {
55
+
56
+ // ここにタップされたボタンのタグが送られてくる
57
+ var tappedBtnTag: Int?
58
+
59
+
60
+ override func viewDidLoad() {
61
+ super.viewDidLoad()
62
+ // Do any additional setup after loading the view, typically from a nib.
63
+
64
+ // 取り合えすプリント、値が渡ってきていなければnil
65
+ print("### tappedBtnTag:", tappedBtnTag as Any)
66
+
67
+ }
68
+ }
69
+
70
+ ```

2

訂正

2018/12/01 12:50

投稿

退会済みユーザー
answer CHANGED
@@ -4,7 +4,7 @@
4
4
  let tagNumber: Int = sender.tag
5
5
 
6
6
  // 受け側-値を受け取るInt型の変数を用意
7
- let tappedBtnTag: Int = 0
7
+ var tappedBtnTag: Int?
8
8
 
9
9
  // 遷移処理の中で用意した変数にアクセスしてtagNumberを渡す
10
10
 

1

訂正

2018/12/01 12:03

投稿

退会済みユーザー
answer CHANGED
@@ -2,4 +2,11 @@
2
2
  .tagでアクセスしてint型の値を取得して、遷移先に送ってあげてみてください。
3
3
  ```swift
4
4
  let tagNumber: Int = sender.tag
5
+
6
+ // 受け側-値を受け取るInt型の変数を用意
7
+ let tappedBtnTag: Int = 0
8
+
9
+ // 遷移処理の中で用意した変数にアクセスしてtagNumberを渡す
10
+
5
- ```
11
+ ```
12
+ ラベルに表示する場合はInt型をString型にキャストして設定してあげてみてください