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

回答編集履歴

2

performsegueの記載を簡略化

2018/05/26 17:29

投稿

hameji
hameji

スコア1380

answer CHANGED
@@ -13,19 +13,16 @@
13
13
 
14
14
  ③Identifierに名前をつける、Kindにその遷移の種類を決める
15
15
 
16
- ④選ぶUIAlertActionのhandlerの中にperformsegue
16
+ ④選ぶUIAlertActionのhandlerの中にperformsegueを打ち込む
17
- ```swift
18
- performSegue(withIdentifier: "つけた名前", sender: nil)
19
- ```
20
- を打ち込む
21
17
  正確にはhandlerの部分を
22
18
  ```swift
23
19
  handler: {
24
20
  (action: UIAlertAction!) -> Void in
21
+ performSegue(withIdentifier: "つけた名前", sender: nil)
22
+
25
23
  })
26
24
  ```
27
- と変更し、Void inの次の行にperformSegue...を記入
28
- きるはずです。
25
+ と変更したらできるはずです。
29
26
 
30
27
  助けになれば幸いです。
31
28
 

1

データの受け渡しに関して追記しました。

2018/05/26 17:29

投稿

hameji
hameji

スコア1380

answer CHANGED
@@ -27,4 +27,32 @@
27
27
  と変更し、Void inの次の行にperformSegue...を記入
28
28
  でできるはずです。
29
29
 
30
- 助けになれば幸いです。
30
+ 助けになれば幸いです。
31
+
32
+
33
+ **すっかりデータの受け渡しに関しても質問があったのを忘れてました。**
34
+ prepare(for segue: sender:)を実装すれば解決します。
35
+
36
+ ```Swift(遷移前のSwiftファイル)
37
+ // MARK: -- Segue
38
+ override func prepare(for segue: UIStoryboardSegue, sender: Any?) {
39
+ if segue.identifier == "つけた名前" {
40
+ let nextView: 次のViewController名 = segue.destination as! 次のViewController名
41
+ nextView.titleName = self.つけた変数名
42
+ }
43
+ }
44
+ ```
45
+
46
+ 遷移後のswiftファイルに上で渡す先の変数を作っておく必要があります。
47
+
48
+ ```Swift(遷移後のSwiftファイル)
49
+ var titleName = "" //をclass直下の行に記載
50
+
51
+ override func viewDidLoad() {
52
+ self.title = self.titleName
53
+
54
+ }
55
+ ```
56
+
57
+ でいかがでしょうか?NavigationBarのtitleなら
58
+ これで表示されるはずです。