gpt4 book ai didi

ios - 使用 Firebase Swift 检索数据

转载 作者:搜寻专家 更新时间:2023-11-01 05:57:19 24 4
gpt4 key购买 nike

我正在为我的 Swift iOS 应用程序使用 Firebase。我发现 Firebase 指南上的检索数据教程有点令人困惑,而且我不确定为什么当我尝试访问数据库中的现有值时会得到 nil 值。

这是我目前所拥有的:

usersRef.queryOrderedByChild("fbid").queryEqualToValue(userId).observeSingleEventOfType(.Value, withBlock:{ snapshot in
print("SNAPSHOT: ",snapshot.value)

这是打印快照的结果。

SNAPSHOT:  {
1 = {
fbid = 1;
firstName = Michelle;
friendlist = {
9 = "Kevin C";
};
lastName = C;
profilepicurl = "https:;
uid = "facebook:1";
};
}

然而,下面一行的结果是:
fatal error :在展开可选值时意外发现 nil

 firstName = snapshot.value.objectForKey("firstName") as! String

我想检索用户的所有值(firstName、profilepicurl、friendlist 等)并将它们存储在变量中。这看起来很简单,但也许我遗漏了一些东西。任何帮助,将不胜感激。

最佳答案

您的 FDataSnapshot 不包含子 firstName。它只包含一个子 1

这是因为您正在执行查询,然后请求一个值。由于一个查询可以有很多结果,它会返回一个结果列表。即使只有一个结果,它仍然是 1 的列表。

解决方案是遍历 child :

usersRef.queryOrderedByChild("fbid")
.queryEqualToValue(userId)
.observeSingleEventOfType(.Value, withBlock:{ snapshot in
for child in snapshot.children {
print("Loading group \(child.key!)")
}
})

关于ios - 使用 Firebase Swift 检索数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36729247/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com