gpt4 book ai didi

json - 从 FireBase JSON swift 中检索自动 ID

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

我正在使用循环将名称上传到 FireBase 中的表,该循环使用 childByAutoID() 方法添加它们,如下所示:

for dependent in dependentsArray
{
let dependentName = dependent.text.stringByTrimmingCharactersInSet(NSCharacterSet.whitespaceAndNewlineCharacterSet())

CURRENT_USER_DEPENDENTS_URL.childByAutoId().setValue(["name" : dependentName])
}

然后在我的仪表板中看起来像这样:

enter image description here

然后我像这样观察从属表:

CURRENT_USER_DEPENDENTS_URL.observeEventType(.Value, withBlock: { snapshot in
print(snapshot.value)
self.dependentsJSON = snapshot.value as? [String : [String : String]]

}, withCancelBlock: { error in
print(error.description)
})

上面代码中的 print 语句生成这个 JSON 字典:

{
"-KH3Cg0KFvMNEULYUezv" = {
name = one;
};
"-KH3Cg0LeTs54nbYonmv" = {
name = two;
};
"-KH3Cg0LeTs54nbYonmw" = {
name = three;
};
"-KH3Cg0LeTs54nbYonmx" = {
name = four;
};
}

很简单,我希望能够从这个 JSON 字典中获取每个依赖的 UID,这样我就可以在 NSUserDefaults 中创建一个依赖 UID 数组,如下所示以及像这样对 JSON 字典进行排序:

    if let firstName = self.dependentsJSON?["-KH3Cg0LeTs54nbYonmx"]?["name"] {
print(firstName)
}

旁注:我可以在创建 UID 并将其添加到数据库时保存 UID,但事实是 UID 需要在运行时获取,以防用户卸载应用程序。

最佳答案

您可以执行以下操作

var idList = [String]()

CURRENT_USER_DEPENDENTS_URL.observeEventType(.Value, withBlock: { snapshot in
//print(snapshot.value)
self.dependentsJSON = snapshot.value as? [String : [String : String]]

for dependent in self.dependentsJSON{
idList.append(dependent.key)
}

}, withCancelBlock: { error in
print(error.description)
})

然后您将访问这些值

if let firstName = self.dependentsJSON?[idList[0]]?["name"] {
print(firstName)
}

关于json - 从 FireBase JSON swift 中检索自动 ID,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37065177/

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