当前,我正在将Firebase用于消息传递应用程序。对于消息,我使用childByAutoID()创建新消息。如果两个人同时创建一条消息,是否可以正确创建ID?
let messageConnection = Database.database().reference().child("messages").child(convoID!).childByAutoId()
messageConnection.updateChildValues(["content" : messageText ?? "incomplete", "sender": userHash, "time": time], withCompletionBlock: { error, ref in
if error != nil{
print("ERROR")
}
else{
let conversationRef = Database.database().reference().child("conversations").child(self.convoID!)
conversationRef.updateChildValues(["last_message" : messageText!,"last_message_time":time])
textField.text = ""
}
})
答案 0 :(得分:2)
我不确定这里的“正确”对您意味着什么。
但是,当两个应用程序实例恰好同时调用Sub If_after()
ThisWorkbook.Sheets("Detail").Range("O2").Resize(99).Formula = "=IF(L2=N2,""good"",""update"")"
End Sub
时,它们仍将获得唯一的ID。从统计上讲,这些ID是唯一的,并且包括足够数量的随机位以确保实现。
要了解有关这些推送ID的更多信息,请阅读The 2^120 Ways to Ensure Unique Identifiers。