2017-04-20 67 views
0

我正在使用Firebase服務器時間戳作爲節點名稱在Firebase中添加新節點。它崩潰並給出這個錯誤「終止應用程序由於未捕獲的異常InvalidPathValidation',原因:'(孩子:)必須是非空字符串,不包含'。' '#''$''['或']''「。這裏是我的代碼在使用swift在Firebase中添加新節點時發生崩潰3

let kFirebaseServerValueTimestamp = [".sv":"timestamp"] 
      let serverTimestamp = "sosLog" + String(describing: kFirebaseServerValueTimestamp) 
      FIRDatabase.database().reference().child(serverTimestamp).setValue(["residentUid":self.user_uid,"name":self.user_name, "timestamp": [".sv": "timestamp"], "status": "SOS" ]){ 

    } 

這是我的db結構。所以我想創建一個名爲sosLog1234567456的節點,就像admin,billingdate節點一樣。 enter image description here

回答

0

Firebase有一些密鑰限制。創建符合以下規則的所有者密鑰。

如果你創建自己的密鑰,它們必須是UTF-8編碼,一個 最大的768個字節就可以了,不能包含。,$,#,[,],/,或ASCII 控制字符0-31或127.

+0

我明白了你的意思,但我沒有弄清楚我的代碼有什麼問題? – manku