【发布时间】:2015-05-13 18:18:06
【问题描述】:
我有一个 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
])
但是当我尝试执行 eventRefChild.setValue([... 时,我一直收到错误消息:Could not find an overload for '+' that accepts the supplied arguments,老实说,我不太清楚为什么会遇到这个问题。任何帮助将不胜感激!
编辑:变量EventReference 分配如下:EventReference = Firebase(url:"<Insert Firebase URL>")
在currentUserFirstName 和currentUserLastName 内部是从Facebook 获取的个人的名字和姓氏,因此它看起来分别类似于Bob Smith。
【问题讨论】:
-
这样做让 name = currentUserFirstName + " " + currentUserLastName。然后使用名称常量。
-
我不知道你为什么关闭了关于完全相同问题的上一个问题,但我的评论保持不变:此代码中唯一的
+运算符是你连接currentUserFirstName + " " + currentUserLastName的地方。如果您单步执行代码,该行是否正确执行? -
你能提供更多的代码吗?查看 currentUserFirst 和 currentUserLast 的值会很有用。 Firebase 将接受 setValue 的字典,因此那里不应该有问题。另外我不确定 EventReference 是什么。如果您能提供更多有关这方面的信息,那将会很有帮助。
-
@FrankvanPuffelen 当我们单步执行代码时,该行正确执行。我已将那部分代码正确存储到我的数据库中。
-
如果你只是硬编码值会发生什么:
Firebase(url:"<Insert Firebase URL>").childByAutoId().setValue([ "eventName":"Google I/O", "attendees": ["objectID": "209103", "name": "Frank van Puffelen"]])
标签: ios swift firebase nsdictionary