如何将解析后的数据存储在数组中?

sashafromlibertalia

我在Firebase上有一个数据库。我解析一些要存储在结构数组中的数据:
postData.swift

struct postData {
  let Title: String
  let Subtitle: String
  let imgURL: String
  let Date: String

  init(Title: String, Subtitle: String, imgURL: String, Date: String) {
    self.Title = Title
    self.Subtitle = Subtitle
    self.imgURL = imgURL
    self.Date = Date
  }
}

该数组将用于tableViewCells内部创建collectionViewCells在ViewController内,我创建了一个全局数组,用于存储解析后的数据。这是我做的一个功能:var dataPosts:[postData] = []

var dataPosts:[postData] = []
...
override func viewDidLoad() {
       super.viewDidLoad()
       tableView = UITableView(frame: self.view.bounds, style: .grouped)
       tableView.delegate = self
       tableView.dataSource = self
       ...
       tableView.register(PostCell.self, forCellReuseIdentifier: PostTableID)
       parsePosts()
       print(dataPosts.count) // prints 0
   }
   
   func parsePosts() {
       let databaseRef = Database.database().reference(withPath: "Посты")
       var data:[postData]
       databaseRef.observeSingleEvent(of: .value) { (snapshot) in
           for child in snapshot.children {
               let snap = child as! DataSnapshot
               let res = snap.value as! [String: Any]
               
               let title = res["Заголовок"] as! String
               let subtitle = res["Подзаголовок"] as! String
               let img = res["URL"] as! String
               let date = res["Дата"] as! String
               
               self.dataPosts.append(postData(Title: title, Subtitle: subtitle, imgURL: img, Date: date))
               print(self.dataPosts.count, " - inside cycle") // prints 1
           }
       }
       data = dataPosts
       print(data.count, " - inside function") // prints 0
   }

func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
        return dataPosts.count
   }

有什么方法可以将其存储在数组中吗?还是我应该使用OOP中的某些功能(我是初学者)?谢谢

Sh_Khan

databaseRef.observeSingleEvent(of: .value) { (snapshot) in是一个异步调用[阅读下面的评论]reloadData

   databaseRef.observeSingleEvent(of: .value) { (snapshot) in
       for child in snapshot.children {
           let snap = child as! DataSnapshot
           let res = snap.value as! [String: Any]
           
           let title = res["Заголовок"] as! String
           let subtitle = res["Подзаголовок"] as! String
           let img = res["URL"] as! String
           let date = res["Дата"] as! String
           
           self.dataPosts.append(postData(Title: title, Subtitle: subtitle, imgURL: img, Date: date))
           print(self.dataPosts.count, " - inside cycle") // prints 1
       }
      data = dataPosts // this should be here inside the closure after the for loop
      tableView.reloadData()
   }

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

应用程序结束后如何将数据存储在数组中?

来自分类Java

如何将数据存储在数组中,使用函数

来自分类Dev

如何将接收到的数据存储在数组中?

来自分类Dev

如何将类数据存储在数组中,并根据需要重新调用此数据?

来自分类Dev

如何将数据存储在数组(JavaScript)中的承诺中?

来自分类Dev

如何将混合数据类型(int,float,char等)存储在数组中?

来自分类Dev

如何将JSON数据存储在数组中,然后将其显示在HTML页面上

来自分类Dev

如何将输入数据作为对象存储在数组中?

来自分类Dev

如何解析存储在数组中的数据

来自分类Dev

如何在数组列表中存储解析对象数据

来自分类Dev

如何将此json数据存储在数组中

来自分类Dev

如何将单选按钮的值存储在数组中

来自分类Dev

如何将值存储在数组 Jquery 中?

来自分类Java

如何将WebElement存储在数组中

来自分类Dev

如何将函数指针存储在数组中?

来自分类Dev

Rust如何将枚举值存储在数组中?

来自分类Dev

如何将选定的单选按钮存储在数组中?

来自分类Dev

如何将数字存储在数组中?

来自分类Dev

如何将引用存储在数组中?

来自分类Dev

如何将类型存储在数组中?

来自分类Dev

如何将所有字典存储在数组中

来自分类Dev

如何将文件内容存储在数组中?

来自分类Dev

Java如何将JOptionPane值存储在数组中

来自分类Dev

如何将值存储在数组中,遍历树?

来自分类Dev

如何将条件输出存储在数据框中

来自分类Dev

如何将图像存储在数据库中

来自分类Dev

如何从Web API将数据存储在数组中

来自分类Dev

如何将编辑后的数据存储在本地存储中?

来自分类Dev

如何将数据存储在存储在变量中的数组中?

Related 相关文章

  1. 1

    应用程序结束后如何将数据存储在数组中?

  2. 2

    如何将数据存储在数组中,使用函数

  3. 3

    如何将接收到的数据存储在数组中?

  4. 4

    如何将类数据存储在数组中,并根据需要重新调用此数据?

  5. 5

    如何将数据存储在数组(JavaScript)中的承诺中?

  6. 6

    如何将混合数据类型(int,float,char等)存储在数组中?

  7. 7

    如何将JSON数据存储在数组中,然后将其显示在HTML页面上

  8. 8

    如何将输入数据作为对象存储在数组中?

  9. 9

    如何解析存储在数组中的数据

  10. 10

    如何在数组列表中存储解析对象数据

  11. 11

    如何将此json数据存储在数组中

  12. 12

    如何将单选按钮的值存储在数组中

  13. 13

    如何将值存储在数组 Jquery 中?

  14. 14

    如何将WebElement存储在数组中

  15. 15

    如何将函数指针存储在数组中?

  16. 16

    Rust如何将枚举值存储在数组中?

  17. 17

    如何将选定的单选按钮存储在数组中?

  18. 18

    如何将数字存储在数组中?

  19. 19

    如何将引用存储在数组中?

  20. 20

    如何将类型存储在数组中?

  21. 21

    如何将所有字典存储在数组中

  22. 22

    如何将文件内容存储在数组中?

  23. 23

    Java如何将JOptionPane值存储在数组中

  24. 24

    如何将值存储在数组中,遍历树?

  25. 25

    如何将条件输出存储在数据框中

  26. 26

    如何将图像存储在数据库中

  27. 27

    如何从Web API将数据存储在数组中

  28. 28

    如何将编辑后的数据存储在本地存储中?

  29. 29

    如何将数据存储在存储在变量中的数组中?

热门标签

归档