为什么我会在第34行收到此错误? let postObject = [String:AnyObject] = ["
无法赋值:函数调用返回不可变值
@IBAction func HandleSendButton(_ sender: Any) {
let postRef = Storage.storage().reference().child("messages").child("\(selectedUser).[“id”]")
let postObject = [[String:AnyObject]]() = [
"From": [
"uid": User.uid,
"username": User.username,
"photoURL": User.photoURL.absoluteString
],
"Message": textView.text,
"timestamp": [".sv":"timestamp"]
] as [String:Any]
postRef.setValue(postObject, withCompletionBlock: { error, ref in
if error == nil {
self.dismiss(animated: true, completion: nil)
} else {
// Handle the error
}
})
}
答案 0 :(得分:0)
只需删除let postObject = [
部分:
let postObject: [String: Any] = [
或
dpkg-query --showformat='${Version}' --show rabbitmq-server
答案 1 :(得分:0)
应该是这样的:
let postObject
: [[String:AnyObject]]
部分声明一个常量,=
声明它的类型(注意不使用=
),最后在for item1, item2, item3 in zip(list1, list2, list3):
if item1 == item2:
print(item3)
之后是初始化它的文字对象。 / p>
答案 2 :(得分:0)
有一些问题需要解决。
我们假设您的Firebase看起来像这样
def ninety_nine_bottles(n=99):
for i in range(n, 0, -1):
print(f'{i} bottles of beer on the wall, {i} of beer! You take one down, pass it around, {i-1} bottles of beer on the wall')
如果您想创建一个新问题节点,这将在该结构中创建
root
questions
uid_0
From:
photoUrl: "some photoUrl"
uid: "some userid"
username: "some username"
message: "some message"
timestamp: "some timestamp"
有了这个,我们得到了uid并定义了对数据写入位置的引用。
然后简单使用字典; Firebase使用键:值对来存储它的数据,我们定义一个字典来包含一个键,它是一个字符串,值可以是一种Any。
let uid = Auth.auth().currentUser?.uid
let postRef = self.ref.child("questions").child(uid!) //self.ref is a class var*
let dict: [String: Any] = ["From":
["uid": "some uid",
"username": "some username",
"photoUrl": "some url"],
"message": "some message",
"timestamp": "some timestamp"
]
postRef.setValue(dict, withCompletionBlock: { error, ref in
if error == nil {
self.dismiss(animated: true, completion: nil)
} else {
// Handle the error
}
})
这允许第一个元素是String:Dictionary,第二个和第三个元素是String:String。
* self.ref指向我的根Firebase节点。编辑指向你的。
答案 3 :(得分:0)
试试这个:
let postObject: [String: Any] = [
"From": [
"uid": User.uid,
"username": User.username,
"photoURL": User.photoURL.absoluteString
] as [String: Any],
"Message": textView.text,
"timestamp": [".sv":"timestamp"]
] as [String: Any]
必要的变更是:
请告诉我这是否适合您。