0
这是我从firebase中提取数据的代码。
listofnames(二维)和名称(单维)是String类型的全局数组。全局变量似乎失去了价值(swift)
但是,当我打印listofnames
时,输出窗口中会显示一个空数组,而如果我在注释第一行(self.listofnames = [[]])时代码正常工作。
我已将链接引用与Firebase数据库
请帮忙。
var databasehandle:FIRDatabaseHandle?
let time = ["8AM - 9AM", "9AM - 10AM","10AM - 11AM", "11AM -12PM", "12PM - 1PM","1PM - 1:30PM","2PM - 3PM","3PM - 4PM","4PM - 5PM","5PM - 6PM","6PM - 7PM","7PM - 7:30PM"]
var ref:FIRDatabaseReference!
var day: String = "Monday"
var users :String = "First years"
func loaddata()
{
self.listofnames = [[]]
for x in 0...((time.count)-1)
{
ref.child(users).child(day).child(time[x]).observeSingleEvent(of: .value, with: {(snapshot) -> Void in
if let namesfromFirebase = snapshot.value as? [String:Any]
{
let y = namesfromFirebase.count
for i in 1...y
{
self.names.append(namesfromFirebase["s"+"\(i)"] as! String)
}
}
self.listofnames.append(self.names)
self.names = []
})
}
print(self.listofnames)
self.tableView.reloadData()
}
我将使用的变量的内容,从一个不同的功能...,然后将阵列保持空 –
然后你需要一个完成处理程序,或者在闭包中放置使用该变量的代码。 – vadian