ios - Swift 4:值不能存储在 for-in 循环之外
问题描述
@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)")
}
我试图从firebase获取数据并将其存储在字典中,但dict中的值只能存储和打印在“第一个列表”中,而不是“第二个列表”中并打印“nil”。
1)那么我怎样才能将这些值保存在firebase中并打印在“第二个列表”中。
2)如何将值存储在字典中并在函数之外重新使用它们,例如。通过 UserDefaults 存储字典?
解决方案
推荐阅读
- php - 无法在 laragon 上启动服务 apache
- javascript - 在 Boostrap 轮播中测量图像时间
- linden-scripting-language - 如何描述通过 LSL 同步两个不同模式数据流的机制?
- firebase - 在多对多关系上使用 Firebase 对 SaaS 应用建模的最佳做法是什么
- r - R ggplot2 ggrepel 标记位置
- sql - 在 POSTGRESQL 中编写一个 Select 查询以将 null 替换为当前 datetimestamp,计算两列之间的差异并将具有相同 id 的列相加
- python - np.array 没有大小
- tensorflow2.0 - TypeError 拟合 Beta 二项式混合密度网络
- node.js - 使用 Pug 访问数组的特定索引
- javascript - JQuery Datatables Plugin 销毁/检索方法的行为不像记录的那样