我从 Firebase 查询一个分支,以将以下内容打印到控制台:
{
2345 = 1;
6244 = 1;
q6x8 = 1;
}
我正在尝试创建左侧值的数组;即,一个数组,如下所示:[2345, 6244, q6x8]。
因为打印到控制台的数据结构使用等号而不是冒号,所以它不是字典,也不是 HashMap 。因此,当我尝试这样做时
print(snap.value![0])
或
print(snap.value!.first)
我收到一条错误消息,提示“键入‘Any’没有下标成员”或“键入‘Any’没有成员‘first’。”
我被困住了。任何帮助将不胜感激,提前致谢。
最佳答案
snap.value[0] 不起作用,因为返回的数据是 DataSnapshot 类型。此外,Firebase 使用键值对。因此,您的数据必须类似于:2345 = 1 : true
guard let snap = snap.children.allObjects as? [DataSnapshot] else {return}
for (key, val) in snap {
print(key, val)
}
答案因您的 Firebase 数据结构而异。在您的情况下,snap
是2345 = 1 : true
。
关于swift - 从 Firebase 获取信息 : Swift,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47126359/