ios - 我在 Tableview 单元格中有 collectionView。它总是返回零。我该如何解决?

标签 ios swift uicollectionview swift4 mobile-development

我在 Tableview 单元格中有 collectionView。当我从 firebase 获取数据时,我将数据保存到数组中,然后尝试将其放在 Collection View 中。但是,即使我手动将数据放入数组中,我的 array.count 始终显示为零,并且我的 Collection View 中没有任何内容。

override func viewDidLoad() {
    super.viewDidLoad()
    currentuserArray.append(User(email: "x@gmail.com", image: "ASD"))
    currentuserArray.append(User(email: "y@gmail.com", image: "ASD"))
    print(currentuserArray.count)
    tableView.delegate = self
    tableView.dataSource = self
    getDataFromFirebaseToTakeUsers()

}

在那里,currentuserArray.count 的值为 2。

func collectionView(_ collectionView: UICollectionView, numberOfItemsInSection section: Int) -> Int {
        print(currentuserArray.count)
        return currentuserArray.count // this looks like 0, however at the top, it was 2.
    }

但是;在那里,userMailArray.count 的值为 0。因此,我的 collectionView 上没有任何内容。怎么可能?

最佳答案

问题是getDataFromFirebaseToTakeUsers是异步的,你需要

self.collectionView.reloadData()

内部完成

关于ios - 我在 Tableview 单元格中有 collectionView。它总是返回零。我该如何解决?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59707945/

相关文章:

ios - 如果从过流上下文 View Controller 中呈现,则呈现错误的 View Controller

ios - 从服务器上的文本实例化 Swift 类

ios - Xcode Workspace - 未从框架开发容器中找到导入

swift - 在拖放之间丢失 NSAttributedString 的属性

ios - 以可变速率为自定义 CAShapeLayer 设置动画

ios - 如何让 UITableView 停止滚动

arrays - 根据特定元素对 SKSpriteNode 数组进行排序

ios - 屏幕显示太慢

ios - 在 UICollectionView 和 UITableView 中优化预加载/预取图像

ios - 需要将一小段代码快速转换为 Objective C