質問編集履歴

7

変更

2018/07/07 14:00

投稿

退会済みユーザー
test CHANGED
File without changes
test CHANGED
@@ -173,3 +173,11 @@
173
173
  数日調べていますが、分からない為質問致します。
174
174
 
175
175
  よろしくお願いします。
176
+
177
+
178
+
179
+ //追記
180
+
181
+
182
+
183
+ reloadDataもできています。

6

変更

2018/07/07 14:00

投稿

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

5

変更

2018/07/07 13:50

投稿

退会済みユーザー
test CHANGED
@@ -1 +1 @@
1
- ListenerRegistrationする方法 Firestore
1
+ セルにdictionaryの値を渡し、表示したい。 Firestore
test CHANGED
@@ -6,74 +6,170 @@
6
6
 
7
7
  ### 実現したいこと
8
8
 
9
+ UITableViewControllerのcellForRowAt内のcell.textLabel?.textの値として、
10
+
9
- 既にFirestoreへSetDataしているデータ指定して取得し値として扱いたいです
11
+ コード①のdictionary内のvalueを持たせセルに表示させたい。
10
12
 
11
13
 
12
14
 
13
- UITableViewControllerで下記コード(viewWillAppear)を実行し、
15
+ ### 分からない点
14
16
 
17
+
18
+
19
+ 下記コード①をFirestoreのSetDataで保存しています。
20
+
21
+ ここのdictionary内のuserNameのvalueを、
22
+
15
- カスタムセルである(UITableViewCell)へ値を渡したいです。
23
+ UITableViewControllerのセルに表示したいです。
24
+
25
+
16
26
 
17
27
 
18
28
 
19
29
  ```ここに言語を入力
20
30
 
21
-
22
31
 
32
+
23
- //UITableViewController内です
33
+ コード① Prof1です
24
34
 
25
35
 
26
36
 
37
+ import Foundation
38
+
39
+ import Firebase
40
+
41
+
42
+
43
+
44
+
45
+ protocol DocumentSerializable2 {
46
+
47
+
48
+
49
+ init?(dictionary:[String:Any])
50
+
51
+ }
52
+
53
+
54
+
55
+
56
+
57
+ struct Prof1 {
58
+
59
+ var userName :Any
60
+
61
+
62
+
27
- var dataListener : ListenerRegistration!
63
+ var dictionary:[String:Any] {
64
+
65
+ return [
66
+
67
+
68
+
69
+ "userName" : (userName as AnyObject).text ?? ""
70
+
71
+ ]}
72
+
73
+ }
74
+
75
+
76
+
77
+
78
+
79
+
80
+
81
+ extension Prof1 : DocumentSerializable2 {
82
+
83
+ init?(dictionary: [String:Any]) {
28
84
 
29
85
 
30
86
 
31
- override func viewWillAppear(_ animated: Bool) {
87
+ guard let userName = dictionary["userName"] as? Any
32
88
 
33
- super.viewWillAppear(animated)
89
+ else {return nil}
34
90
 
35
-
91
+
36
92
 
37
- let userRef = db.collection("users").document("user")
93
+ self.init(userName: userName)
94
+
95
+ }
96
+
97
+ }
38
98
 
39
99
 
40
100
 
41
- //
42
101
 
43
- dataListener = userRef.addSnapshotListener { (docSnapshot, error) in
44
-
45
- guard let docSnapshot = docSnapshot, docSnapshot.exists else { return }
46
-
47
- let data = docSnapshot.data()
48
-
49
- let name = data!["userName"] as? String ?? ""
50
-
51
-
52
-
53
- HogeCell().HugaLabel.text = name
54
-
55
- }
56
-
57
- }
58
102
 
59
103
  ```
60
104
 
61
- ### 試したこと
62
105
 
63
- SetDataを取得するのにListenerRegistrationが望ましいかと思いました。
64
106
 
65
- フィはString:Anyで、"userName":""という形保存しています。
107
+ 下記コード②でhoge.contentとhoge.timeStampはセルに表示ています。
66
108
 
67
109
 
68
110
 
111
+ この様に、コード①のuserNameも セルに表示したいのですが、
112
+
69
- value""内には既に"HogeHuga"という形で値、この値を扱いたいのですが、セルにうく渡せません
113
+ イニシャライズ分かりません。(let profff = Prof1()の書き方自体間違ってるかもしれませんが...)
70
114
 
71
115
 
72
116
 
117
+
118
+
73
- 数日調べていますが分からない為、見て頂けると助かります。
119
+ ```ここに言語を入力
74
120
 
75
121
 
76
122
 
77
- ・・__追記__
123
+ コード② UITableViewControllerです
78
124
 
125
+
126
+
127
+ //省略してます
128
+
129
+
130
+
131
+
132
+
133
+ override func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
134
+
135
+ let cell = tableView.dequeueReusableCell(withIdentifier: "cell", for: indexPath)
136
+
137
+
138
+
139
+
140
+
141
+ let hoge = hogeArray[hogeArray.count - indexPath.row - 1]
142
+
143
+
144
+
145
+      //⚠️ここで値を渡したいですのですが、イニシャライズが分かりません。
146
+
147
+      let profff = Prof1()
148
+
149
+
150
+
151
+
152
+
153
+ cell.textLabel?.text = "(profff.userName) (hoge.content)"
154
+
79
- valueの "HogeHuga"のみを値にしたいです。
155
+ cell.detailTextLabel?.text = "(hoge.timeStamp)"
156
+
157
+
158
+
159
+ return cell
160
+
161
+ }
162
+
163
+
164
+
165
+ //省略してます
166
+
167
+
168
+
169
+ ```
170
+
171
+
172
+
173
+ 数日調べていますが、分からない為質問致します。
174
+
175
+ よろしくお願いします。

4

変更

2018/07/07 13:48

投稿

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

3

変更

2018/07/07 06:10

投稿

退会済みユーザー
test CHANGED
File without changes
test CHANGED
@@ -71,3 +71,9 @@
71
71
 
72
72
 
73
73
  数日調べていますが分からない為、見て頂けると助かります。
74
+
75
+
76
+
77
+ ・・__追記__
78
+
79
+ valueの "HogeHuga"のみを値にしたいです。

2

変更

2018/07/06 15:23

投稿

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

1

変更

2018/07/06 13:21

投稿

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