回答編集履歴

3

情報追加

2019/08/20 15:03

投稿

hameji
hameji

スコア1380

test CHANGED
@@ -23,3 +23,49 @@
23
23
  string型なら.count != 0、Int型なら != 0等での判定にするのはどうでしょう?
24
24
 
25
25
  もちろんそうなると、登録時にその0は禁止する必要が出てきますが、、、
26
+
27
+
28
+
29
+
30
+
31
+ 修正1
32
+
33
+ 遅くなりました。
34
+
35
+ 英語のサイトですが、同様にどうやってnullをチェックするんだって聞いている人がいます。
36
+
37
+ https://stackoverflow.com/questions/35882630/firebase-checking-for-null-value-swift
38
+
39
+
40
+
41
+ 結論は
42
+
43
+ ```swift
44
+
45
+ if snapshot.value is NSNull {
46
+
47
+ } else {
48
+
49
+ }
50
+
51
+ ```
52
+
53
+ もしくは
54
+
55
+ ```swift
56
+
57
+ guard snapshot.exists() else{
58
+
59
+ print("snapshot doesn't exist")
60
+
61
+ return
62
+
63
+ }
64
+
65
+ print("snapshot exists")
66
+
67
+ ```
68
+
69
+
70
+
71
+ を試してみてください。

2

他の方法も追記

2019/08/20 15:03

投稿

hameji
hameji

スコア1380

test CHANGED
@@ -13,3 +13,13 @@
13
13
  一つ上の親を取得して、その配列の中に目的のchild(a)があるかどうか
14
14
 
15
15
  を判定するべきでは無いでしょうか?
16
+
17
+
18
+
19
+ どうしても、child(a)の中身で判定したいというなら、
20
+
21
+ child(a)が持つべきデータ型を考え、valueをキャスト後に
22
+
23
+ string型なら.count != 0、Int型なら != 0等での判定にするのはどうでしょう?
24
+
25
+ もちろんそうなると、登録時にその0は禁止する必要が出てきますが、、、

1

情報追記

2019/08/16 11:24

投稿

hameji
hameji

スコア1380

test CHANGED
@@ -9,3 +9,7 @@
9
9
 
10
10
 
11
11
  もし、その場合は違う書き方をしたら良いような気がします。
12
+
13
+ 一つ上の親を取得して、その配列の中に目的のchild(a)があるかどうか
14
+
15
+ を判定するべきでは無いでしょうか?