【问题标题】:Swift 3 getting nil value in firebase while retrieving data [duplicate]Swift 3在检索数据时在firebase中获得零值[重复]
【发布时间】:2018-01-02 05:45:40
【问题描述】:

我正在使用 firebase 作为我的后端,我试图从用户的 firebase 中获取名称并尝试在 UITableView 中显示它,但我没有在 UITableView 中得到它。 我的代码:-

 func retriveData() {
    ref.observe(.childAdded, with: { (snapshot) in

        if let snapshot = snapshot.children.allObjects as? [DataSnapshot] {

            for snap in snapshot {
                if let userDict = snap.value as? Dictionary<String,AnyObject> {
                    print("user dict - \(String(describing: userDict["name"]))")
                    let username = userDict["name"] as? String
                    self.uname.append(username!)
                }
            }
        }

    })
}

我的 JSON:-

我使用了 uname 字符串数组并在 UITableView 委托方法中使用它。

【问题讨论】:

  • 什么是 userDict 打印??
  • @User511 用户字典 - 可选(评估),用户字典 - 可选(Yash)
  • 所以你可以在名称数组中附加用户名吗?

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


【解决方案1】:

将数据附加到数组后重新加载表格视图:

func retriveData() {
    ref.observe(.childAdded, with: { (snapshot) in

        if let snapshot = snapshot.children.allObjects as? [DataSnapshot] {

            for snap in snapshot {
                if let userDict = snap.value as? Dictionary<String,AnyObject> {
                    print("user dict - \(String(describing: userDict["name"]))")
                    let username = userDict["name"] as? String
                    self.uname.append(username!)
                }
            }
                tableView.reloadData()

        }
    })
}

【讨论】:

  • 不需要重新加载主队列的数据吗?
  • 不,它也可以。
猜你喜欢
  • 2018-01-05
  • 1970-01-01
  • 2017-04-17
  • 1970-01-01
  • 2017-11-29
  • 1970-01-01
  • 1970-01-01
  • 2017-07-31
  • 2017-09-21
相关资源
最近更新 更多