質問編集履歴

1

詳細のコードなどを記載しました よろしくお願いします

2020/08/19 07:03

投稿

tsuji71
tsuji71

スコア17

test CHANGED
File without changes
test CHANGED
@@ -1,3 +1,65 @@
1
1
  ### 解決したいこと
2
2
 
3
+ 現在授業評価アプリを作っています
4
+
5
+ firestoreを使い、講義名や担当教授などのデータを保存しているのですが、今回、授業ごとに質問ができるようなシステムを作っています 具体的には、履修をしている人が特定のページから質問をし、誰かが答えるという仕組みで、知恵袋やteratailなどをイメージしていただければ良いと思います
6
+
7
+ これを実装するにあたって、画像などを使用する可能性もあることから、firebase storageを使おうと思います
8
+
9
+
10
+
11
+ 現在想定している流れは
12
+
13
+
14
+
15
+ 質問時
16
+
17
+ 1,授業の詳細ページに入り、授業名や教授名と当時に自動生成されたdocumentIDを取得(既に実装済)
18
+
3
- firebaseのstorageで一つドキュメントが持つchildの数をカウントするにはどうしたらいいのしょうか?
19
+ 2,取得したdocumentIDをstorageのchild名に指定すること、授業と対応する保存場所をつくる
20
+
21
+
22
+
23
+ ```
24
+
25
+ ```let imageRef = Storage.storage().reference().child(Const.QuestionPath).child(documentID).child("ここに数字を入れたい")
26
+
27
+ ```
28
+
29
+ 一つの講義に対して、複数の質問が予想されるため
30
+
31
+ この部分で、Storage.storage().reference().child(Const.QuestionPath).child(documentID)に含まれる子の数が取得できていれば、+1したものを「ここに数字を入れたい」の部分に設定することで重複を避けてchild名を設定できると思いました。
32
+
33
+ (イメージとしてはdocumentIDが授業を、数字がその授業の何個目の質問かを表す感じです)
34
+
35
+ 3,以下のコードでstorageにアップ   
36
+
37
+ ```
38
+
39
+ let storage = Storage.storage()
40
+
41
+ let textRef = storage.reference().child(Const.QuestionPath).child(documentID)
42
+
43
+ let str = detaileTextView.text!
44
+
45
+ textRef.putData(str.data(using: String.Encoding.utf32)!,
46
+
47
+ metadata: nil) { metadata, error in
48
+
49
+ print("miss")
50
+
51
+ }
52
+
53
+
54
+
55
+ ```
56
+
57
+
58
+
59
+
60
+
61
+ また、上記のコードでは、TextViewに入力したstringしか保存できないのですが、これも例えば辞書型などを使って複数の項目を保存し、ある項目(例えばタイトルや投稿者)のみを取得したりできるようにもしたいと考えています。そちらについても、もし分かる方がいらっしゃったらお教えいただきたいです
62
+
63
+
64
+
65
+ わかりにくい説明かとは思いますがよろしくお願いします