в VC поиска моего приложения, каждая ячейка табличного представления имеет изображение профиля, имя и соответствующую запись.У меня есть три отдельные операции чтения, чтобы получить каждый кусок.Проблема в том, что я не могу получить переменную из каждой операции чтения для добавления в массив - даже если она определена глобально.Чтобы исправить это, я добавил три отдельные функции, которые вызываются в каждой операции чтения, а затем вызываются для добавления значения в массив.У каждого поста есть ключ, который является идентификатором.Как вы уже догадались, я не могу получить значения из каждой операции чтения, чтобы все сразу добавлялись в массив - что объясняет, почему некоторые <null>
.Вот мой код:
func a(message:String) -> String{
print(message)
let mess = message
return mess
}
func b(url: String) -> String{
print(url)
return url
}
func c(name:String) -> String {
print(name)
let name = name
return name
}
func searchNames(id: String){
var name = String()
var message = String()
var profURL = String()
Database.database().reference().child("\(UserData().mySchool!)/posts/\(id)/message").observeSingleEvent(of: .value, with: { (snapshot) in
message = "\(snapshot.value!)"
self.a(message: message)
// print("Message:",message)
})
Database.database().reference().child("\(UserData().mySchool!)/posts").child("\(id)/username").observe(.value, with: { (username) in
name = "\(username.value!)"
// print("user:",name)
self.c(name: name)
})
Database.database().reference().child("\(UserData().mySchool!)/posts/\(id)/profileURL").observe(.value, with: { (url) in
profURL = "\(url.value!)"
self.b(url: profURL)
})
let x = a
let y = b
let z = c
print("x",x,"y",y,"z",z)
let user = Person(category: x, name: z, id: id, url: y)
self.candies.append(user)
print(message, name,id, profURL)
self.tableView.reloadData()
Идея с функциями (a, b, c) состоит в том, что они будут возвращать значение вне операции чтения и могут использоваться для добавления массива.Строка print("x",x,"y",y,"z",z)
печатает
x (Function) y (Function) z (Function)
x (Function) y (Function) z (Function)
x (Function) y (Function) z (Function)
x (Function) y (Function) z (Function)
x (Function) y (Function) z (Function)
x (Function) y (Function) z (Function)
x (Function) y (Function) z (Function)
x (Function) y (Function) z (Function)
x (Function) y (Function) z (Function)
x (Function) y (Function) z (Function)
x (Function) y (Function) z (Function)
x (Function) y (Function) z (Function)
x (Function) y (Function) z (Function)
x (Function) y (Function) z (Function)
x (Function) y (Function) z (Function)
x (Function) y (Function) z (Function)
x (Function) y (Function) z (Function)
x (Function) y (Function) z (Function)
Это структура, из которой я читаю:
Любые идеи о том, как извлечь каждое отдельное значение из операции чтения ион будет добавлен в массив Person
?