У меня есть заимствованный фрагмент кода, который записывает массив UIImage в виде видео в библиотеку Photo.
Он прекрасно работает, когда я просто запускаю массив как фиксированное количество кадров, однако яне может правильно реализовать обработчик завершения.Ниже приведен код, который я вызываю из моего View Controller, вот код, который я использовал бы для его запуска.(в VC)
func render(completion: @escaping ()->Void) {
// The VideoWriter will fail if a file exists at the URL, so clear it out first.
ImageAnimator.removeFileAtURL(fileURL: settings.outputURL)
videoWriter.start()
videoWriter.render(appendPixelBuffers: appendPixelBuffers) {
ImageAnimator.saveToLibrary(videoURL: self.settings.outputURL)
completion()
}
}
let settings = RenderSettings()
let imageAnimator = ImageAnimator(renderSettings: settings)
imageAnimator.render() { print("yes") }
оператор closure {print ()} - это то, что происходит, когда выполняется рендеринг, но я полагаю, что я должен сам вызывать это замыкание, а не заполнять массивограниченное количество кадров и ожидание его окончания, я просто не цитирую, как понять.
если бы кто-нибудь мог мне помочь, я был бы очень признателен.