回答編集履歴

1

修正

2016/12/30 03:18

投稿

_Kentarou
_Kentarou

スコア8490

test CHANGED
@@ -1 +1,131 @@
1
1
  `UIViewController`での遷移のことを言っているのでしたら、次の画面に渡すパラメーターによって次の画面ではそのパラメーターを見て処理を変えればいいと思います。
2
+
3
+
4
+
5
+ ```swift
6
+
7
+
8
+
9
+ import UIKit
10
+
11
+
12
+
13
+ // ViewController
14
+
15
+ class ViewController: UIViewController {
16
+
17
+
18
+
19
+ override func viewDidLoad() {
20
+
21
+ super.viewDidLoad()
22
+
23
+
24
+
25
+ }
26
+
27
+
28
+
29
+ @IBAction func pushNext(_ sender: UIButton) {
30
+
31
+ performSegue(withIdentifier: "Next", sender: nil)
32
+
33
+ }
34
+
35
+
36
+
37
+ override func prepare(for segue: UIStoryboardSegue, sender: Any?) {
38
+
39
+
40
+
41
+ if let nextVC = segue.destination as? NextViewController {
42
+
43
+ nextVC.beforeViewController = self
44
+
45
+ }
46
+
47
+ }
48
+
49
+ }
50
+
51
+
52
+
53
+ // ViewController1
54
+
55
+ class ViewController1: UIViewController {
56
+
57
+
58
+
59
+ override func viewDidLoad() {
60
+
61
+ super.viewDidLoad()
62
+
63
+
64
+
65
+ }
66
+
67
+
68
+
69
+ @IBAction func pushNext(_ sender: UIButton) {
70
+
71
+ performSegue(withIdentifier: "Next", sender: nil)
72
+
73
+ }
74
+
75
+
76
+
77
+ override func prepare(for segue: UIStoryboardSegue, sender: Any?) {
78
+
79
+
80
+
81
+ if let nextVC = segue.destination as? NextViewController {
82
+
83
+ nextVC.beforeViewController = self
84
+
85
+ }
86
+
87
+ }
88
+
89
+ }
90
+
91
+
92
+
93
+ // NextViewController
94
+
95
+ class NextViewController: UIViewController {
96
+
97
+
98
+
99
+ var beforeViewController: UIViewController!
100
+
101
+
102
+
103
+ override func viewDidLoad() {
104
+
105
+ super.viewDidLoad()
106
+
107
+
108
+
109
+ if beforeViewController is ViewController {
110
+
111
+
112
+
113
+ // 前画面がViewControllerだった時の処理
114
+
115
+ view.backgroundColor = .blue
116
+
117
+ } else if beforeViewController is ViewController1 {
118
+
119
+
120
+
121
+ // 前画面がViewController1だった時の処理
122
+
123
+ view.backgroundColor = .red
124
+
125
+ }
126
+
127
+ }
128
+
129
+ }
130
+
131
+ ```