swift - 如何解决 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
如果您决定提供帮助,请提前非常感谢!!顺便说一下,这里是完整的子帖子功能
解决方案
推荐阅读
- xamarin.forms - Pin 未显示正确的位置 google map api
- c - cs50 第 1 周课程中未定义的参考
- ocaml - 使用未标记节点进行树搜索
- c# - ASP.NET MVC 控制器中的复选框以转换为位
- ajax - Laravel 会话未通过 AJAX 请求更新
- docker - 启动服务器在映射端口上侦听来自 Docker 容器的请求错误套接字访问权限被拒绝
- fiware - 无法使用 2 个实例作为服务启动 Cygnus
- javascript - 如何在mongodb中计算总和
- python - 遍历嵌套字典中的特定键
- reactjs - 如何在 React.js 中让 Axios 请求在移动设备上工作