質問編集履歴

2

リスト画面から登録画面への遷移処理方法のソースを追記

2018/03/23 02:41

投稿

退会済みユーザー
test CHANGED
File without changes
test CHANGED
@@ -52,4 +52,66 @@
52
52
 
53
53
  +を押すと登録画面へ、各セルを押すと登録画面(編集モード)へ遷移するようになっています。
54
54
 
55
- ![イメージ説明](7c38d8580bf564f9384f6347f4410a11.png)dismiss
55
+ ![イメージ説明](7c38d8580bf564f9384f6347f4410a11.png)
56
+
57
+
58
+
59
+ ###追記
60
+
61
+ tableviewcontrollerで以下の処理をしています。
62
+
63
+
64
+
65
+ ```
66
+
67
+ override func prepare(for segue: UIStoryboardSegue, sender: Any?) {
68
+
69
+ super.prepare(for: segue, sender: sender)
70
+
71
+
72
+
73
+ switch (segue.identifier ?? "") {
74
+
75
+ case "AddItem":
76
+
77
+ os_log("Adding a new meal.", log: OSLog.default, type: .debug)
78
+
79
+ case "ShowDetail":
80
+
81
+ guard let mealDetailViewController = segue.destination as? MealViewController else {
82
+
83
+ fatalError("Unexpected destination: (segue.destination)")
84
+
85
+ }
86
+
87
+
88
+
89
+ guard let selectedMealCell = sender as? MealTableViewCell else {
90
+
91
+ fatalError("Unexpected sender: (sender)")
92
+
93
+ }
94
+
95
+
96
+
97
+ guard let indexPath = tableView.indexPath(for: selectedMealCell) else {
98
+
99
+ fatalError("The selected cell is not being displayed by the table")
100
+
101
+ }
102
+
103
+
104
+
105
+ let selectedMeal = meals[indexPath.row]
106
+
107
+ mealDetailViewController.meal = selectedMeal
108
+
109
+ default:
110
+
111
+ break
112
+
113
+ }
114
+
115
+ }
116
+
117
+ ```

1

リスト画面イメージを追加

2018/03/23 02:41

投稿

退会済みユーザー
test CHANGED
File without changes
test CHANGED
@@ -1,4 +1,4 @@
1
- dismissメソッドで前の画面に戻らないパターンがあります。
1
+ メソッドで前の画面に戻らないパターンがあります。
2
2
 
3
3
  なぜ前の画面に戻ってくれないのか、戻すにはどうしたら良いのか教えてください。
4
4
 
@@ -45,3 +45,11 @@
45
45
  ちなみに設定画面の保存ボタン押下時の動作を`dismiss`に変更すると想定どおりの動きになります。
46
46
 
47
47
  設定画面でdismissを使っていない理由は、設定内容を反映するためにリスト画面の`viewDidLoad`を呼び出したいからです。
48
+
49
+
50
+
51
+ ###追記:リスト画面の画面イメージ
52
+
53
+ +を押すと登録画面へ、各セルを押すと登録画面(編集モード)へ遷移するようになっています。
54
+
55
+ ![イメージ説明](7c38d8580bf564f9384f6347f4410a11.png)dismiss