Я делаю мессенджер в реальном времени, используя Firebase. В настоящее время всякий раз, когда я нажимаю кнопку, я хочу, чтобы новое сообщение добавлялось к каналу с индексом сообщения, но в настоящее время, когда я нажимаю кнопку, создается новое сообщение, которое перезаписывает старое сообщение. Я знаю, что обычно проблема заключается в setValue, но я действительно не могу сказать, что я делаю не так. Как выглядит база данных до добавления нового сообщения. Вот как это выглядит после того, как я добавляю сюда новое сообщение, а затем код Я использую для добавления в базу данных.
@IBAction func sendMessageTapped(_ sender: Any) {
if messageTextField.text == "" {
print("blank")
return
} else {
// First we will update the amount of messages that the channel has.
ref.child("channels").child(channelName!).setValue(["numberOfMessages" : numberOfMessages+1 ])
numberOfMessages += 1
// after we have updated the amount of messages we will try to create a new message.
ref.child("channels").child(channelName!).child("messages").child(String(numberOfMessages)).child("message").child("content").setValue(messageTextField.text)
ref.child("channels").child(channelName!).child("messages").child(String(numberOfMessages)).child("message").child("name").setValue("Buddy")
}
}