gpt4 book ai didi

ios - 将字典存储到 Firebase 中?

转载 作者:搜寻专家 更新时间:2023-10-30 22:10:43 24 4
gpt4 key购买 nike

我有一个 Firebase 实例,我想在其中存储要存储到 Firebase 中的值字典。我查看了文档 https://www.firebase.com/docs/ios/guide/saving-data.html作为引用,但似乎无法让它发挥作用。以下是我的尝试:

    //Declared above are the currentUser values as so:
var currentUserFirstName: String!
var currentUserLastName: String!
var currentUserObjectID: String!

var attendeesArray = ["objectID": currentUserObjectID, "name": currentUserFirstName + " " + currentUserLastName]
var eventRefChild = EventReference.childByAutoId()
eventRefChild.setValue([
"eventName":eventName.text,
"attendees": attendeesArray,
"eventCreator": currentUserFirstName
])

但我一直收到一条错误消息:Could not find an overload for '+' that accepts the supplied arguments当我尝试做 eventRefChild.setValue([...老实说,我不太确定为什么会遇到这个问题。任何帮助将不胜感激!

编辑:变量 EventReference分配如下:EventReference = Firebase(url:"<Insert Firebase URL>")

里面currentUserFirstNamecurrentUserLastName是从 Facebook 中获取的个人名字和姓氏所以它看起来像Bob Smith分别。

最佳答案

您的代码没有任何问题。问题是正在加载的值

var currentUserFirstName: String!
var currentUserLastName: String!

作为测试,我使用以下代码创建了一个示例项目,它是您发布的代码的副本,但将普通字符串加载到 var 中:

    var myRootRef = Firebase(url:"https://myproject.firebaseIO.com/")

var currentUserFirstName = "Test"
var currentUserLastName = "User"
var currentUserObjectID = "object ID"

var attendeesArray = ["objectID": currentUserObjectID, "name": currentUserFirstName + " " + currentUserLastName]
var eventRefChild = myRootRef.childByAutoId()
eventRefChild.setValue([
"eventName": "eventName",
"attendees": attendeesArray
])

项目正确编译和运行,预期数据写入 Firebase。请注意,eventName.text 也被替换为字符串,但这并不影响答案。

调查需要转向 var 中加载的内容,答案是 currentUserFirstName 或 currentUserLastName 之一正在加载一个 OBJECT(类),而不是一个字符串。

作为旁注,为什么将 var 声明为隐式展开的可选值(!)

编辑:添加额外的信息来处理可选项

if let actualString = currentUserFirstName {
println(actualString) //proceed working with the the optional string
}
else {
return // something bad happened! currentUserFirstName does not contain a string
}

为防止可选值不包含任何值时代码出错,请将上述代码直接添加到代码的串联行上方。这里发生的是我们将 currentUserFirstName(可选变量)中的字符串分配给实际字符串(标准的非可选变量)。

如果表达式的计算结果为真,那么我们可以继续计算 currentUserFirstName。

如果为假,则 currentUserFirstName 不包含字符串,因此请优雅地处理错误。

关于ios - 将字典存储到 Firebase 中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30222434/

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