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

回答編集履歴

8

訂正

2019/11/27 13:36

投稿

退会済みユーザー
answer CHANGED
@@ -7,13 +7,15 @@
7
7
  nagivationControllerがありますのでこんな感じで親(値の渡し先)を取得してみてください。
8
8
 
9
9
  ```swift
10
+
11
+
10
12
  override func viewWillDisappear(_ animated: Bool) {
11
13
 
12
14
  let nc = presentingViewController as? UINavigationController
13
15
 
14
16
  let vc = nc?.topViewController as? DetailViewController
15
17
       
16
-      vc. PickerText = // 親の要素に何かを渡す
18
+      vc.pickerText = // 親の要素に何かを渡す pは小文字にしてね
17
19
 
18
20
  }
19
21
  ```

7

訂正

2019/11/27 13:36

投稿

退会済みユーザー
answer CHANGED
@@ -2,7 +2,7 @@
2
2
  [こんなかんじ](https://teratail.com/questions/65426#reply-103597)
3
3
 
4
4
  -- 追記 --
5
- エラーになるは、let controller の部分の controllerが`nil`だからだと思います。
5
+ エラーになる原因は、戻り先の上?に`NavigationController`がいるので let controller の部分の `presentingViewController`で取得したcontrollerが`nil`だからだと思います。当然キャストできない。
6
6
 
7
7
  nagivationControllerがありますのでこんな感じで親(値の渡し先)を取得してみてください。
8
8
 

6

訂正

2019/11/27 13:06

投稿

退会済みユーザー
answer CHANGED
@@ -4,7 +4,7 @@
4
4
  -- 追記 --
5
5
  エラーになるのは、let controller の部分の controllerが`nil`だからだと思います。
6
6
 
7
- nagivationControllerがありますのでこんな感じで値の渡し先を取得してみてください。
7
+ nagivationControllerがありますのでこんな感じで親(値の渡し先を取得してみてください。
8
8
 
9
9
  ```swift
10
10
  override func viewWillDisappear(_ animated: Bool) {

5

編集

2019/11/27 13:00

投稿

退会済みユーザー
answer CHANGED
@@ -13,7 +13,9 @@
13
13
 
14
14
  let vc = nc?.topViewController as? DetailViewController
15
15
       
16
-      vc.str = // 親の要素に何かを渡す
16
+      vc. PickerText = // 親の要素に何かを渡す
17
17
 
18
18
  }
19
- ```
19
+ ```
20
+
21
+ 新しいカード式?のmodal遷移だと`unwind`はアニメーションがおかしいので使えないですね…

4

訂正

2019/11/27 12:58

投稿

退会済みユーザー
answer CHANGED
@@ -11,7 +11,7 @@
11
11
 
12
12
  let nc = presentingViewController as? UINavigationController
13
13
 
14
- let vc = nc?.topViewController as? SecondVC
14
+ let vc = nc?.topViewController as? DetailViewController
15
15
       
16
16
       vc.str = // 親の要素に何かを渡す
17
17
 

3

訂正

2019/11/27 12:56

投稿

退会済みユーザー
answer CHANGED
@@ -12,7 +12,8 @@
12
12
  let nc = presentingViewController as? UINavigationController
13
13
 
14
14
  let vc = nc?.topViewController as? SecondVC
15
+      
15
-
16
+      vc.str = // 親の要素に何かを渡す
16
17
 
17
18
  }
18
19
  ```

2

追記

2019/11/27 12:54

投稿

退会済みユーザー
answer CHANGED
File without changes

1

追記

2019/11/27 12:53

投稿

退会済みユーザー
answer CHANGED
@@ -1,2 +1,18 @@
1
1
  `navigationController`外だから、単純に`unwind`で戻れない?
2
- [こんなかんじ](https://teratail.com/questions/65426#reply-103597)
2
+ [こんなかんじ](https://teratail.com/questions/65426#reply-103597)
3
+
4
+ -- 追記 --
5
+ エラーになるのは、let controller の部分の controllerが`nil`だからだと思います。
6
+
7
+ nagivationControllerがありますのでこんな感じで値の渡し先を取得してみてください。
8
+
9
+ ```swift
10
+ override func viewWillDisappear(_ animated: Bool) {
11
+
12
+ let nc = presentingViewController as? UINavigationController
13
+
14
+ let vc = nc?.topViewController as? SecondVC
15
+
16
+
17
+ }
18
+ ```