Ios Swift 4:值不能存储在循环外部
我试图从firebase获取数据并存储在字典中,但dict中的值只能存储和打印在“第一个列表”中,而不能存储和打印在“第二个列表”中并打印为“nil” 1) 那么,我如何将这些值保存在firebase中下载并打印在“第二个列表”中呢Ios Swift 4:值不能存储在循环外部,ios,swift,xcode,dictionary,for-in-loop,Ios,Swift,Xcode,Dictionary,For In Loop,我试图从firebase获取数据并存储在字典中,但dict中的值只能存储和打印在“第一个列表”中,而不能存储和打印在“第二个列表”中并打印为“nil” 1) 那么,我如何将这些值保存在firebase中下载并打印在“第二个列表”中呢 2) 如何将值存储在字典中,并在func之外重复使用它们,例如,按用户默认值存储字典 “Swift 4:值不能存储在循环外部”:可以。只是缺少了一个事实,observe(value:with)是异步的。寻找“Async+Swift+Close”来处理它。谢谢Larm
2) 如何将值存储在字典中,并在func之外重复使用它们,例如,按用户默认值存储字典 “Swift 4:值不能存储在循环外部”:可以。只是缺少了一个事实,
observe(value:with)
是异步的。寻找“Async+Swift+Close”来处理它。谢谢Larme,我用调度组解决了它。
@IBAction func getListBtnPressed(_ sender: Any) {
var dict:Dictionary=[String:String]()
var refData:DatabaseReference!
refData = Database.database().reference().child("vacancies")
refData.observe(DataEventType.value, with: { (snapshot) in
if snapshot.childrenCount > 0 {
for vacancies in snapshot.children.allObjects as! [DataSnapshot] {
let vacancyObject = vacancies.value as? [String: AnyObject]
let vacancyName = vacancyObject?["vacancyName"] as! String
let vacancyNumber = vacancyObject?["vacancyNumber"] as! String
list["\(vacancyName)"]=vacancyNumber
//print("First List: \(dict)")
}
}
})
print("Second List: \(dict)")
}