ios - 从 firebase 获取的图像在将它们添加到 tableViewCells 的过程中被复制了吗?

标签 ios swift firebase firebase-realtime-database

以下代码从 firebase 获取图像,但错误地复制了两个图像。我认为这是由于 self.tableView.reloadData() 的放置所致 我试过的所有放置都不起作用。谁能给我建议?

    func fetchAllUsersImages() {
    print("inside func")
    self.ref.child("Posts").child(self.userID).child(self.postNum).observe(.childAdded, with: { snapshot in
        if let snapShotValue = snapshot.value as? [String: String] {
            for (_, value) in snapShotValue {
                if let imageURL = URL(string: value) {
                    print(imageURL, "image url here")
                    do {
                        let imageAsData = try Data(contentsOf: imageURL)
                        let image = UIImage(data: imageAsData)
                        let ImageObject = Image()
                        ImageObject.image = image
                        self.arrayOfImgObj.append(ImageObject)
                    } catch {
                        print("imageURL was not able to be converted into data")
                    }
                }
            }
        }
    })
}

最佳答案

请确保在开始调用函数时清除数组,因为您正在将数据附加到数组。其次,完成for循环后重新加载表。

func fetchAllUsersImages() {
    self.arrayOfImgObj.removeAll() // clean the array

    self.ref.child("Posts").child(self.userID).child(self.postNum).observe(.childAdded, with: { snapshot in
        if let snapShotValue = snapshot.value as? [String: String] {
            for (_, value) in snapShotValue {

            }
            tableView.reloadData() // reload view
        }
    })
}

关于ios - 从 firebase 获取的图像在将它们添加到 tableViewCells 的过程中被复制了吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53093924/

相关文章:

ios - 如何解决 UITableViewController 的指定初始化错误?

ios - RSS 阅读器 : UITableView displays data very slowly

swift - 调整 UITableViewCell 内的自动布局

firebase - 无法将“用户”分配给 FutureBuilder 中的参数类型 'Future<User>'

ios - 是否可以访问 Facebook 当前的热门话题?

jQuery 和 iOS 设备

swift - 创建二进制 header

swift - 区分单个 Sprite 上的多个物理体

firebase - 如何将动态链接域从一个项目转移到另一个项目

reactjs - 即使在签名或登录后也无法访问 protected 路线