質問編集履歴
7
変更
title
CHANGED
File without changes
|
body
CHANGED
@@ -85,4 +85,8 @@
|
|
85
85
|
```
|
86
86
|
|
87
87
|
数日調べていますが、分からない為質問致します。
|
88
|
-
よろしくお願いします。
|
88
|
+
よろしくお願いします。
|
89
|
+
|
90
|
+
//追記
|
91
|
+
|
92
|
+
reloadDataもできています。
|
6
変更
title
CHANGED
File without changes
|
body
CHANGED
File without changes
|
5
変更
title
CHANGED
@@ -1,1 +1,1 @@
|
|
1
|
-
|
1
|
+
セルにdictionaryの値を渡し、表示したい。 Firestore
|
body
CHANGED
@@ -2,39 +2,87 @@
|
|
2
2
|
|
3
3
|
|
4
4
|
### 実現したいこと
|
5
|
+
UITableViewControllerのcellForRowAt内のcell.textLabel?.textの値として、
|
5
|
-
|
6
|
+
コード①のdictionary内のvalueを持たせ、セルに表示させたい。
|
6
7
|
|
7
|
-
UITableViewControllerで下記コード(viewWillAppear)を実行し、
|
8
|
-
|
8
|
+
### 分からない点
|
9
9
|
|
10
|
+
下記コード①をFirestoreのSetDataで保存しています。
|
11
|
+
ここのdictionary内のuserNameのvalueを、
|
12
|
+
UITableViewControllerのセルに表示したいです。
|
13
|
+
|
14
|
+
|
10
15
|
```ここに言語を入力
|
11
|
-
|
12
|
-
//UITableViewController内です
|
13
16
|
|
17
|
+
コード① Prof1です
|
18
|
+
|
19
|
+
import Foundation
|
20
|
+
import Firebase
|
21
|
+
|
22
|
+
|
23
|
+
protocol DocumentSerializable2 {
|
24
|
+
|
25
|
+
init?(dictionary:[String:Any])
|
26
|
+
}
|
27
|
+
|
28
|
+
|
29
|
+
struct Prof1 {
|
30
|
+
var userName :Any
|
31
|
+
|
14
|
-
var
|
32
|
+
var dictionary:[String:Any] {
|
15
|
-
|
16
|
-
override func viewWillAppear(_ animated: Bool) {
|
17
|
-
|
33
|
+
return [
|
18
34
|
|
19
|
-
|
35
|
+
"userName" : (userName as AnyObject).text ?? ""
|
36
|
+
]}
|
37
|
+
}
|
20
38
|
|
21
|
-
|
39
|
+
|
22
|
-
|
40
|
+
|
23
|
-
guard let docSnapshot = docSnapshot, docSnapshot.exists else { return }
|
24
|
-
|
41
|
+
extension Prof1 : DocumentSerializable2 {
|
42
|
+
init?(dictionary: [String:Any]) {
|
43
|
+
|
25
|
-
|
44
|
+
guard let userName = dictionary["userName"] as? Any
|
26
|
-
|
45
|
+
else {return nil}
|
46
|
+
|
27
|
-
|
47
|
+
self.init(userName: userName)
|
28
|
-
|
48
|
+
}
|
29
|
-
|
49
|
+
}
|
50
|
+
|
51
|
+
|
30
52
|
```
|
31
|
-
### 試したこと
|
32
|
-
SetDataを取得するのにListenerRegistrationが望ましいかと思いました。
|
33
|
-
フィールドはString:Anyで、"userName":""という形で保存しています。
|
34
53
|
|
35
|
-
|
54
|
+
下記コード②でhoge.contentとhoge.timeStampはセルに表示できています。
|
36
55
|
|
37
|
-
|
56
|
+
この様に、コード①のuserNameも セルに表示したいのですが、
|
57
|
+
値のイニシャライズが分かりません。(let profff = Prof1()の書き方自体間違ってるかもしれませんが...)
|
38
58
|
|
59
|
+
|
39
|
-
|
60
|
+
```ここに言語を入力
|
61
|
+
|
62
|
+
コード② UITableViewControllerです
|
63
|
+
|
64
|
+
//省略してます
|
65
|
+
|
66
|
+
|
67
|
+
override func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
|
68
|
+
let cell = tableView.dequeueReusableCell(withIdentifier: "cell", for: indexPath)
|
69
|
+
|
70
|
+
|
71
|
+
let hoge = hogeArray[hogeArray.count - indexPath.row - 1]
|
72
|
+
|
73
|
+
//⚠️ここで値を渡したいですのですが、イニシャライズが分かりません。
|
74
|
+
let profff = Prof1()
|
75
|
+
|
76
|
+
|
77
|
+
cell.textLabel?.text = "(profff.userName) (hoge.content)"
|
40
|
-
|
78
|
+
cell.detailTextLabel?.text = "(hoge.timeStamp)"
|
79
|
+
|
80
|
+
return cell
|
81
|
+
}
|
82
|
+
|
83
|
+
//省略してます
|
84
|
+
|
85
|
+
```
|
86
|
+
|
87
|
+
数日調べていますが、分からない為質問致します。
|
88
|
+
よろしくお願いします。
|
4
変更
title
CHANGED
File without changes
|
body
CHANGED
File without changes
|
3
変更
title
CHANGED
File without changes
|
body
CHANGED
@@ -34,4 +34,7 @@
|
|
34
34
|
|
35
35
|
valueの""内には既に"HogeHuga"という形で値があり、この値を扱いたいのですが、セルにうまく渡せません。
|
36
36
|
|
37
|
-
数日調べていますが分からない為、見て頂けると助かります。
|
37
|
+
数日調べていますが分からない為、見て頂けると助かります。
|
38
|
+
|
39
|
+
・・__追記__
|
40
|
+
valueの "HogeHuga"のみを値にしたいです。
|
2
変更
title
CHANGED
File without changes
|
body
CHANGED
File without changes
|
1
変更
title
CHANGED
File without changes
|
body
CHANGED
File without changes
|