Добавление Firebase Post перезаписывает все другие сообщения Swift - PullRequest
0 голосов
/ 28 июня 2019

Я написал код, который правильно записывает один пост в мою базу данных Firebase.Проблема в том, что, когда я добавляю другой пост, он перезаписывает пост, который был там ранее.Как добавить записи в существующий массив без перезаписи?

  func postToFirebase(imgUrl: String) {
        let post: Dictionary<String, AnyObject> = [
            "caption": postDescription.text! as AnyObject,
            "imageUrl": imgUrl as AnyObject,
            "likes": 0 as AnyObject
        ]

        let firebasePost = DataService.ds.REF_POSTS.childByAutoId()
        firebasePost.setValue(post)
        let userPost = firebasePost.key

        print("Firebase Post: \(String(describing: firebasePost))")


        _ = Auth.auth().addStateDidChangeListener { (auth,user) in
            if let user = user {
                let userId = user.uid
                print("USER: \(String(describing: userId))")
                let newPost = DataService.ds.REF_USERS.child("\(userId)").child("posts")
                //print("NEW POST: \(newPost.child)")
                newPost.setValue([userPost : true])

            }
        }

        postDescription.text = ""
        imageSelected = false
        newPostImage.image = UIImage(named: "icons8-camera-100")

    }

enter image description here

1 Ответ

1 голос
/ 03 июля 2019

Мне удалось решить проблему, внеся небольшое изменение в то, как я устанавливал значение. Теперь это выглядит так:

let newPost = DataService.ds.REF_USERS.child("\(userId)").child("posts").child(userPost!)
newPost.setValue(true)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...