teratail header banner
teratail header banner
質問するログイン新規登録

回答編集履歴

3

情報追加

2019/08/20 15:03

投稿

hameji
hameji

スコア1380

answer CHANGED
@@ -10,4 +10,27 @@
10
10
  どうしても、child(a)の中身で判定したいというなら、
11
11
  child(a)が持つべきデータ型を考え、valueをキャスト後に
12
12
  string型なら.count != 0、Int型なら != 0等での判定にするのはどうでしょう?
13
- もちろんそうなると、登録時にその0は禁止する必要が出てきますが、、、
13
+ もちろんそうなると、登録時にその0は禁止する必要が出てきますが、、、
14
+
15
+
16
+ 修正1
17
+ 遅くなりました。
18
+ 英語のサイトですが、同様にどうやってnullをチェックするんだって聞いている人がいます。
19
+ https://stackoverflow.com/questions/35882630/firebase-checking-for-null-value-swift
20
+
21
+ 結論は
22
+ ```swift
23
+ if snapshot.value is NSNull {
24
+ } else {
25
+ }
26
+ ```
27
+ もしくは
28
+ ```swift
29
+ guard snapshot.exists() else{
30
+ print("snapshot doesn't exist")
31
+ return
32
+ }
33
+ print("snapshot exists")
34
+ ```
35
+
36
+ を試してみてください。

2

他の方法も追記

2019/08/20 15:03

投稿

hameji
hameji

スコア1380

answer CHANGED
@@ -5,4 +5,9 @@
5
5
 
6
6
  もし、その場合は違う書き方をしたら良いような気がします。
7
7
  一つ上の親を取得して、その配列の中に目的のchild(a)があるかどうか
8
- を判定するべきでは無いでしょうか?
8
+ を判定するべきでは無いでしょうか?
9
+
10
+ どうしても、child(a)の中身で判定したいというなら、
11
+ child(a)が持つべきデータ型を考え、valueをキャスト後に
12
+ string型なら.count != 0、Int型なら != 0等での判定にするのはどうでしょう?
13
+ もちろんそうなると、登録時にその0は禁止する必要が出てきますが、、、

1

情報追記

2019/08/16 11:24

投稿

hameji
hameji

スコア1380

answer CHANGED
@@ -3,4 +3,6 @@
3
3
  確か、firebaseでnullを保存できなかった気がしますが、、、
4
4
  child(a)が無い場合を想定しているのでしょうか???
5
5
 
6
- もし、その場合は違う書き方をしたら良いような気がします。
6
+ もし、その場合は違う書き方をしたら良いような気がします。
7
+ 一つ上の親を取得して、その配列の中に目的のchild(a)があるかどうか
8
+ を判定するべきでは無いでしょうか?