Я делаю простое приложение, которое позволяет загружать изображение с некоторыми подпунктами (например, подробности). Я правильно сделал функцию загрузки и обработки для основного изображения. Но, когда я заканчивал свою функцию для процесса подстановок, я столкнулся с проблемой (не с ошибкой), которая точно знает, что и почему ее вызывает, но не знаю, что делать, чтобы ее исправить. (noob здесь) Я использую 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. И, как вы можете видеть, есть одно из них, которое идеально, но 2, которые не нужны.
Так почему бы мне не удалить for image in images
? Потому что под ним (uploadSubPosts()
) берется аргумент. И не могу удалить это. Единственное, о чем я подумал, это добавить туда массив, но из-за способа, которым я сделал функцию subposts, я могу помещать в него только изображения, поэтому image
Большое спасибо заранее, если вы решитеПомогите!! Кстати, вот функция полного подпункта