Скриншот моей базы данных ![enter image description here](https://i.stack.imgur.com/2BXkh.png)
Я хочу ограничить пользователя вводом только до 5 текстовых сообщений.Поэтому я хочу добавить «1», «2», «3», «4», «5» заказанных детей с сообщением и значением даты.На самом деле я мог бы добиться этого с помощью некоторой манипуляции путем добавления следующего фрагмента кода
if message0 > 1 && message0 < 7 {
message0 = message0 - 1
}
Но если я пропущу эту часть, то когда системная запись данных в Firebase всегда пропускает дочерний элемент «2», а затемнумеровать их в порядке возрастания.
Скриншот базы данных
![enter image description here](https://i.stack.imgur.com/SZqvz.png)
Я поставил ниже полный код.Это работает, но я чувствую, что вышеупомянутые манипуляции довольно странные и могут привести к проблемам.Если у вас есть представление о том, что я делаю неправильно, и несколько полезных советов, как правильно добавлять число детей в порядке возрастания, я был бы очень признателен.Также необходимо добавить код, который будет проверять существующих детей, чтобы избежать перезаписи под тем же номером ребенка.Но понятия не имею, как это сделать.В любом случае спасибо за любые советы заранее.
func sendInputTextToFirebase() {
var message0 = MyGlobalVariables.refMessages.child(MyGlobalVariables.uidUser!).observe(.childAdded) { (snapshot) in
var a = [String]()
a.append(snapshot.key)
print(a)
let b = a.count
print(b)
}
//TODO: make child counting into dbase upto 5 in more elegant way
if message0 > 1 && message0 < 7 {
message0 = message0 - 1
}
if message0 < 6 {
let messageString = String(message0)
let picker = tergetDateTF.text
let messageT = [
"message": messageTV.text! as String,
"Date": picker]
MyGlobalVariables.refMessages.child(MyGlobalVariables.uidUser!).child(messageString).setValue(messageT)
} else {
print("limit exceeded")
}}}