ios - TableView 复制图像?

标签 ios swift firebase uitableview firebase-realtime-database

我的代码中有以下函数,它从 firebase 获取图像,它正确地完成了所有操作,但是它复制了 2 个图像(在本例中)它的获取。

编辑:(下面的情况可能并非如此,我相信这只是基于尝试多个看似有效的修复程序并没有解决问题的事实)。

这似乎是由于 self.tableView.reloadData() 的放置而引起的但是我已经尝试了许多放置都失败了。

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

                    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)
                                self.tableView.reloadData()
                            } catch {
                                print("imageURL was not able to be converted into data")
                            }
                        }
                }
            }
            print("hfjdsaklhjfksahalh")
        })
        print(arrayOfImgObj.count)
    }

这是控制台的输出:

     Description:  post1 
Description:  oosJPm4MEnWWis5p7p1unCbZxQH3
 inside func 0 Optional({
        image1 = "https://URLIsHere";
        image2 = "https://URLIsHere"; 
}) 
https://URLIsHere 
https://URLIsHere image url here 
https://URLIsHere 
https://URLIsHere image url here
hfjdsaklhjfksahalh

最佳答案

问题出在下面的 TableViewDataSource 方法上:

override func numberOfSections(in tableView: UITableView) -> Int {
    return arrayOfImgObj.count
}

删除此代码后,代码应该可以正常工作。我不确定为什么会这样,如果您这样做,请在下面发表评论,以便我们知道。

关于ios - TableView 复制图像?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53127447/

相关文章:

ios - iOS 模拟器中存在头文件,但 iOS 设备上不存在...?

ios - 椭圆角计算和点计算问题

swift - 手动修改 Vapor 4 响应中的模型属性值

javascript - 模型中的angularjs更改仅在单击某处时呈现

php - 在 firestore (php) 中增加一个字段

iOS 运行时异常

ios - 安全区域布局指南不适用于 Storyboard中的 UITableViewController

ios - Swift:如果 key 不存在,decodeObjectForKey 会崩溃

xcode - Swift 中的 "Use of undeclared type",即使类型是内部的,并且存在于同一模块中

Swift Firebase 如何停止进程?