如何访问处于“更深”级别快照中的信息?我是否总是需要启动另一个查询?为了向你展示我的意思,我有我的结构的截图: Screenshot of DataStructureFirebase中的嵌套信息
我加载所有的职位我的查询中,我可以读出作者的信息等,但我怎么能进去选项中的信息?我试过如下:
ref.child("posts").child("details").observe(.childAdded, with: { (snapshot:FIRDataSnapshot) in
if snapshot.value == nil {
return
}
let post = Post()
guard let snapshotValue = snapshot.value as? NSDictionary else {
return
}
post.postID = snapshot.key
post.title = snapshotValue["title"] as? String
post.postDescription = snapshotValue["description"] as? String
if (post.postDescription == ""){
post.postDescription = "No description has been entered for this post.."
}
post.timestamp = snapshotValue["timestamp"] as? NSNumber
let options = snapshotValue["options"]
print(options)
当我打印选项,我可以看到的信息,但是当我尝试将其转换为NSDictionary中或东西来访问它,它打印零?我也可以定义一个新的属性,如post.options,如果这可能有所帮助?选项并不总是只有0和1,它的变量,所以我需要遍历这些。我怎样才能做到这一点?
如果我理解正确,'print(options)'实际上会打印您的数据,对吧?从图像看来,选项虽然是一个数组,但如果将它转换为字典,它将不起作用。也许通过for ... each循环遍历选项并打印内容以查看您是否获得了数据 – Prientus
好的我会尝试 –
我需要以某种方式进行投射,否则选项的类型为Any?..所以我可以' t使用每个循环的类型 –