从 Firebase 下载 json 并填充 TableView Swift 3

Posted

技术标签:

【中文标题】从 Firebase 下载 json 并填充 TableView Swift 3【英文标题】:Downloading json from Firebase and populating TableView Swift 3 【发布时间】:2017-01-21 19:23:22 【问题描述】:

我一直在尝试将下面的代码从 Swift 2 转换为 Swift 3,但遇到了错误,其中一些我已经纠正,但有些我无法解决。任何帮助将不胜感激。当它在行中显示 TableView 时应用程序崩溃

   let property = snapshotValue!["property"] as? String

带有错误消息:致命错误:在展开可选值时意外发现 nil

post.self 也有问题 ' 类型为 post 的消息表达式。类型未使用

struct  post 
    let property :  String!


class TableViewController: UITableViewController 

var posts = [post]()

override func viewDidLoad() 
    super.viewDidLoad()

    let databaseRef = FIRDatabase.database().reference()

    databaseRef.child("users").queryOrderedByKey().observe(.childAdded, with: 
        snapshot in

        var snapshotValue = snapshot.value as? NSDictionary
        let property = snapshotValue!["property"] as? String
        snapshotValue = snapshot.value as? NSDictionary


        self.posts.insert(post(property: property), at: 0)
        self.tableView.reloadData()
    )
post.self



override func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int 
    // Return the number of rows in the section.
    return posts.count


override func numberOfSections(in tableView: UITableView) -> Int 
    return 1


override func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell 
    let cell = tableView.dequeueReusableCell(withIdentifier: "cell")

    let label1 = cell?.viewWithTag(1) as! UILabel
     label1.text = posts[indexPath.row].property
    return cell!

非常感谢期待

【问题讨论】:

【参考方案1】:

我没有意识到,尽管我进行了搜索,但这个确切的问题已经被提出并回答了。

发布问题的人将其代码更新为答案。它对我有用 :-) *** 上页面的链接是:

Swift 3 Breaks Cell For Row At Index Path

【讨论】:

以上是关于从 Firebase 下载 json 并填充 TableView Swift 3的主要内容,如果未能解决你的问题,请参考以下文章

Objective-C - Firebase 从数据库中检索数据并填充到表中

使用来自 firebase 实时数据库的 json 数据填充 firestore 数据库

从 Firebase 填充数组传递 UITableViewCell 数据

从 Firebase 中的嵌套查询填充回收站视图

使用Curl从firebase导出大型json数据的问题

我可以下载firebase数据库json吗