首页 > 解决方案 > 如何解决 swift + firebase 循环图像问题?

问题描述

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

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

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

这是理想的样子

这很简单。

所以有什么问题?

我有一个循环将所有子帖子上传到数据库,循环计算每个选定的子帖子,并将其放入一个数组中。

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)
            }
        }
    }
}

现在,如您所见,它实际上单独上传了每个子帖子(因为数组),但是,按照我理想的方式,将它全部放在子节点中。而且,正因为如此,它上传了许多而不是一个。这是发布一组图像后的数据库。

这里

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

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

如果您决定提供帮助,请提前非常感谢!!顺便说一下,这里是完整的子帖子功能

标签: swiftimagefirebasefirebase-realtime-database

解决方案


推荐阅读