簡體   English   中英

swift firebase迭代每個快照值以更新/設置一個值

[英]swift firebase iterate each snapshot value to update / set a value

我試圖從firebase數據庫中獲取所有數據,並以不同的方式更新或設置(如果為零)每個值。 例如我有5個用戶:

[1-jon喜歡的人:jef,2-jef的人喜歡:nil,3-jake,4-mat,5-taylor的人喜歡:jon]

它應該以不同的方式更新/設置每個值(當按鈕按下更新/設置值並轉到下一個值時。

我的代碼表明我可以迭代,但是我不知道如何設置每個值。
還是在Firebase快照中不可能? 如果是這樣,請就其他或類似方法提出建議/建議以解決問題。

Database.database().reference().child("posts").observeSingleEvent(of: .value, with: { snapshot in
        print("##########")
        var dictionary = snapshot.value as! [String:AnyObject]

        for(_,value) in dictionary{
            if let firstKey = snapshot.key as? String{

                var likedby = value["Liked By"] as? String
                let name = value["name"] as? String
                let age = value["age"] as? String
                let caption = value["caption"] as? String
                let picURL = value["photoURL"] as? String
                let gender = value["gender"] as? String
                print("TTT")
                print(name, "was liked by",likedby)

                if likedby == nil || likedby != "Othman" {
                    print("****")
                    print(name)

Firebase DataSnapshot只讀的 它主要用於讀取以前從Firebase提取的數據。

您需要使用DatabaseReference.setValue方法來更新給定節點。 如注釋中所述, DataSnapshot.ref屬性提供了一種方便的方法來取回與給定快照相對應的DatabaseReference

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM