【问题标题】:swift firebase iterate each snapshot value to update / set a valueswift firebase 迭代每个快照值以更新/设置一个值
【发布时间】:2017-06-21 01:00:52
【问题描述】:

我试图从 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)

【问题讨论】:

    标签: ios swift firebase firebase-realtime-database snapshot


    【解决方案1】:

    Firebase DataSnapshot只读的。它主要用于读回以前从 Firebase 获取的数据。

    您需要使用DatabaseReference.setValue 方法来更新给定节点。如 cmets 中所述,DataSnapshot.ref 属性提供了一种方便的方法来获取与给定快照对应的DatabaseReference

    【讨论】:

    猜你喜欢
    • 2016-06-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-02-05
    • 2017-03-05
    • 2022-11-29
    • 2023-04-05
    相关资源
    最近更新 更多