我希望用户添加好友。当他点击按钮addFriend时,应该创建两个新的Childs并上传到数据库。新信息上传到的孩子称为“befreundet”(是朋友)。 应该创建的JSON树应该是这样的:
befreundet
loggedinUser.uid
otherUser.uid
otherUser.username: " "
otherUser.ProfilePic: " "
otherUser.uid
loggedinUser.uid
loggedinUser.username: " "
loggedinUser.ProfilePic: " "
以下是代码:
@IBAction func addFriend(_ sender: Any) {
if self.befreunden.titleLabel?.text == "Als Freund hinzufügen" {
let friendRef = "befreundet/\(self.loggedInUSer!.uid)/\(self.otherUseruid!)"
let FreundeRef = "befreundet/\(self.otherUseruid!)/\(self.loggedInUSer!.uid)"
let FriendData = ["username":self.loggedinUSerData?["username"] as! String,
"ProfilePic":self.loggedinUSerData?["urltoImage"] as! String]
let BefreundenData = ["username":self.otherUser?["username"] as? String,
"ProfilePic":self.otherUser?["urltoImage"] as? String]
let childUpdats = [friendRef:BefreundenData,
FreundeRef:FriendData]
databaseRef.updateChildValues(childUpdats)
let FreundeAnzahl:Int?
let FriendCount:Int?
if self.otherUser?["AnzahlFreunde"] == nil {
FreundeAnzahl = 1
}else {
FreundeAnzahl = self.otherUser?["AnzahlFreunde"] as! Int + 1
}
if self.loggedinUSerData?["AnzahlFreunde"] == nil {
FriendCount = 1
}else {
FriendCount = self.loggedinUSerData?["AnzahlFreunde"] as! Int + 1
}
databaseRef.child("users").child(self.loggedinUSerData?["uid"] as! String).child("AnzahlFreunde").setValue(FreundeAnzahl)
databaseRef.child("users").child(self.otherUseruid!).child("AnzahlFreunde").setValue(FriendCount)
}else {
databaseRef.child("users").child(self.loggedinUSerData?["uid"] as! String).child("AnzahlFreunde").setValue(self.loggedinUSerData?["ANzahlFreunde"] as! Int - 1)
databaseRef.child("users").child(self.otherUseruid!).child("AnzahlFreunde").setValue(otherUser?["AnzahlFreunde"] as! Int - 1)
let friendRef = "befreundet/\(self.loggedinUSerData?["uid"] as! String)/\(self.otherUseruid!)"
let FreundeRef = "befreundet/\(self.otherUseruid!)/\(self.loggedinUSerData?["uid"] as! String)"
let childUpdates2 = [friendRef:NSNull()]
let FreundeUpdate2 = [FreundeRef:NSNull()]
databaseRef.updateChildValues(childUpdates2)
databaseRef.updateChildValues(FreundeUpdate2)
}
}
我现在面临的问题是,只有“FreundeRef”正在上传。 有谁知道为什么会这样?