firebase - 如何解决我的swift4项目中的firebase转换问题..(NSDictionary to Swift Object)
问题描述
我会尝试 .....
ref = Database.database().reference()
ref.child("~~").child("~~~~").observeSingleEvent(of: .value) { (snapshot) in
let value = snapshot.value as? NSDictionary
let follow = value?["follower"] as? NSDictionary ?? [:]
for key : Any in follow.allKeys{
self.followKeyList.append(key as! String)
}
}
实际上,我想通过follow键获取它下面的值,然后解析这些值。
但我不知道如何在输出中处理 Swift。
请帮我。
consol )
Optional({
age = 1992;
city = "\Uc11c\Uc6b8\Ud2b9\Ubcc4\Uc2dc \Uc131\Ubd81\Uad6c";
img = "https://zzim-profile-images.s3.ap-northeast- 2.amazonaws.com/3uzDeLNbO3X7MlUx6LC23SGO6Y73/1535015109629";
nickname = "\Ucc0c\Uc74f \Uae40\Ub2e4\Uc194";
sex = "\Ub0a8\Uc790";
userId = 3uzDeLNbO3X7MlUx6LC23SGO6Y73;
})
火力基地)
解决方案
啊....我解决了。
我正在使用 CodableFirebase。
git 集线器:https ://github.com/alickbass/CodableFirebase
let values = snapshot.value as? NSDictionary
let follow = values?["follower"] as? NSDictionary ?? [:]
for key : Any in follow.allKeys{
self.followKeyList.append(key as! String)
}
var followIndex = 0
for _ : Any in follow.allKeys{
do{
var data = try FirebaseDecoder().decode(FFModel.self, from: follow.value(forKey: self.followKeyList[followIndex]))
data.id = self.followKeyList[followIndex]
followList.append(data)
followIndex += 1
}catch let err{
print(err, err.localizedDescription)
}
}
codablefirebase 非常容易将 firebase nsdictionary 格式数据转换为 swift 对象。
...太棒了.........
推荐阅读
- php - 两种类型的jQuery AJAX调用之间的区别:'GET'和类型:'POST'?
- javascript - vue 循环一个对象来渲染多个版本的组件
- javascript - 当我们使用 document.getElementByID 作为父级时,是否可以阻止或删除子级 div?
- android - 在 minSdk 17 中编写自定义外观的相机
- python - django 项目部署成功但服务器错误(500)
- json - Visual Studio 中没有所有 ARM 模板功能
- android - 在资源方面,是否可以无限循环使用 context.getString() 中的字符串刷新 TextView(每 n 秒)?
- microsoft-teams - isFullScreen 清单设置不执行任何操作
- python - Python中的混合继承
- rust - Cargo Doc 中的下标和上标字符?