Я работаю над приложением заказа пиццы. Я пытаюсь загрузить порядок в UILabel в виде списка. База данных заказов - Firebase, и приложение быстро кодируется. Когда я печатаю значение массива, я вижу все элементы. Но список предметов не может быть загружен в UILabel. Просто загрузите ребенка по autoID сверху, игнорируя все остальные. Действительно, спасибо за вашу помощь, это мое первое приложение на swift и firebase, и, возможно, это глупый вопрос: (
Это дочерние элементы Firebase по autoID. Может только тот, кто наверху быть загруженным
Если я печатаю значения, работает отлично, но UILabel отображает только последний элемент.
func observePreOrder() {
guard let uid = Auth.auth().currentUser?.uid else { return }
let preOrderRef = Database.database().reference(withPath: "users/profile/\(uid)/pedidos/100_PRE-ORDER/")
preOrderRef.observe( .value, with: {snapshot in
if let Pedido = snapshot.value as? NSDictionary {
let keys = Pedido.allKeys
for key in keys {
if let nextDict = Pedido[key] as? [String: Any] {
let Pizza = nextDict["PIZZA"] as? String ?? ""
let Ingredientes = nextDict["INGREDIENTES"] as? String ?? ""
let separator = " \n"
let array : [String?] = ["·Producto: \(Pizza)", nil, "·Ingredientes: \(Ingredientes)"]
let PedidoSTR = array.compactMap{ $0 }.joined(separator: separator)
self.testLabel.text = PedidoSTR// only display last item from Firebase
print(PedidoSTR)// Display ALL items from Firebase
self.view.layoutIfNeeded()
self.testLabel.setNeedsDisplay()
self.testLabel.layoutIfNeeded()
print(self.testLabel.text as Any)
}
}
} else {
print("NANAIN")
}
})
}
Это вывод значение
· Продукт: Pepsi Cola Lata · Ingredientes: · Продукт: Mitad Ali oli??? y Mitad Boloñesa??? Pequeña. · Ingredientes: Mitad con + Base de Tomate + Моцарелла + Сальса Али Оли + Пимьенто Фрито + Хамон Серрано + Крем-де-Модена и Митад-кон + База Томатэ + Моцарелла + Сальса Болоньеса + Тернера + цеболла + Экстра де кесо