質問編集履歴
1
コードや質問文の編集を行いました
test
CHANGED
@@ -1 +1 @@
|
|
1
|
-
MVP
|
1
|
+
MVPにおけるPresenterでnilが出てしまう
|
test
CHANGED
@@ -1,8 +1,12 @@
|
|
1
1
|
Viewで打ち込んだ文字(searchText)をPresenterを通してModelに渡し、Modelで情報を得た後にViewが更新されるようにしたいと考えています。
|
2
2
|
|
3
|
-
Model内のfetchUserDataで実際に情報を得ることはできたのですが、その後reloadData
|
3
|
+
Model内のfetchUserDataで実際に情報を得ることはできたのですが、その後ビルドを行うとViewを更新するためのメソッド「self.view.reloadData(users: result)」のviewの部分がnilになりエラーが出てしまいます。
|
4
4
|
|
5
|
+
|
6
|
+
|
5
|
-
どなたか
|
7
|
+
nilになってしまう理由がわからずにいるのですが、どなたか解決方法などご教授いただけないでしょうか。
|
8
|
+
|
9
|
+
|
6
10
|
|
7
11
|
|
8
12
|
|
@@ -14,6 +18,8 @@
|
|
14
18
|
|
15
19
|
protocol Input {
|
16
20
|
|
21
|
+
|
22
|
+
|
17
23
|
func didTappedSearchButton(searchText: String)
|
18
24
|
|
19
25
|
}
|
@@ -22,7 +28,9 @@
|
|
22
28
|
|
23
29
|
protocol UserView {
|
24
30
|
|
31
|
+
|
32
|
+
|
25
|
-
func reloadData(
|
33
|
+
func reloadData(users: [SearchResult.UserData])
|
26
34
|
|
27
35
|
}
|
28
36
|
|
@@ -38,7 +46,7 @@
|
|
38
46
|
|
39
47
|
var model = UserModel()
|
40
48
|
|
41
|
-
private var view: UserView
|
49
|
+
private var view: UserView!
|
42
50
|
|
43
51
|
|
44
52
|
|
@@ -52,11 +60,13 @@
|
|
52
60
|
|
53
61
|
print("Receive " + searchText)
|
54
62
|
|
55
|
-
model.fetchUserData(text: searchText
|
63
|
+
model.fetchUserData(text: searchText, completion: { result in
|
56
64
|
|
57
|
-
|
65
|
+
print("Result", result)
|
58
66
|
|
67
|
+
self.view.reloadData(users: result) // Unexpectedly found nil while implicitly unwrapping an Optional value
|
68
|
+
|
59
|
-
}
|
69
|
+
})
|
60
70
|
|
61
71
|
}
|
62
72
|
|