如何解决Firebase +快速图像循环问题

时间:2019-10-07 15:56:05

标签: swift firebase firebase-realtime-database

我正在制作一个简单的应用程序,使您可以上传包含一些子帖子(如详细信息)的图像。 我已经正确完成了主图像的上传功能和过程。但是,在完成子帖子流程的功能时,我遇到了一个问题(不是错误),我确切地知道是什么原因和原因,但不知道如何解决。 (这里的菜鸟) 我正在为此应用程序使用Firebase-Realtime。

在Xcode中,我有一个按钮,可让您将所有图像(包括子帖子)保存到数据库中。

理想情况下,它应该是这样的: (here)

这很简单。

那有什么问题?

我有一个循环,可将所有子帖子上载到数据库,该循环对所选的每个子帖子进行计数,并将其放入数组中。

var imagePaths = [String]()
var counter = 0
func bulkUpload(_ images: [UIImage], completion: @escaping ([String]) -> Void) {
    for image in images {
        uploadSubPosts(image) { (urlPath) in
            imagePaths.append(urlPath)
            counter += 1
            if counter == images.count {
                completion(imagePaths)
            }
        }
    }
}

现在,如您所见,它实际上分别上载了每个子帖子(由于数组),但是,我理想地将其全部放在子节点中。 而且,由于这个原因,它上载了许多而不是一个。 这是发布图像集之后的数据库。

(here)

这很奇怪,但是很有意义。 我想要的是删除那些没有选择子帖子图片数量的图片。在图片中,我选择了3张图像,而不是6张。而且,如您所见,其中有1张是完美的,但2张不是必需的。

那我为什么不删除for image in images? 因为在(uploadSubPosts()的下面有一个参数。 并且无法删除它。我唯一想到的就是在其中添加一个数组,但是由于我使用subposts函数的方式,我只能在其中放置图像,因此image

如果您决定要帮助的话,非常感谢!! 顺便说一下here is the full subposts function

0 个答案:

没有答案