swift - 从 Firebase 获取信息 : Swift

标签 swift

我从 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 数据结构而异。在您的情况下,snap2345 = 1 : true

关于swift - 从 Firebase 获取信息 : Swift,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47126359/

相关文章:

swift - 如何在崩溃报告中留言

ios - Swift 无法分配 [CLLocationCoordinate2D] 类型的不可变值

swift - 了解 SceneKit 的 SIMD

swift - 从 UICollectionView cellForItemAt indexPath 为 CAShapeLayer 动画设置 toValue

python - 如何将数组转换为模型输入?

swift - 如何读取屏幕EDID数据?

ios - 核心数据随机崩溃,可能存在并发问题

swift - 执行 segue 后,文本字段永久位于标签中

ios - 快速生成 tabBar.items 的需求计数

ios - Swift 3 - 抛出函数类型的无效转换