Ich habe Probleme, 6 Fotos und speichern sie in einem Objekt-Array, um sie zu animieren. Ich erhalte eine Fehlermeldung,:Erstellen Sie eine Animation aus Array von Bildern
Array-Index außerhalb des zulässigen Bereichs
Auch ich erkennen, dass das „Bild“ Objekt nicht außerhalb der if-Anweisung aus irgendeinem Grunde erkannt wird. Was mache ich falsch?
func didPressTakePhoto(){
var picArray: [UIImage] = []
for index in 1...6 {
if let videoConnection = stillImageOutput?.connectionWithMediaType(AVMediaTypeVideo){
videoConnection.videoOrientation = AVCaptureVideoOrientation.Portrait
stillImageOutput?.captureStillImageAsynchronouslyFromConnection(videoConnection, completionHandler: {
(sampleBuffer, error) in
if sampleBuffer != nil {
let imageData = AVCaptureStillImageOutput.jpegStillImageNSDataRepresentation(sampleBuffer)
let dataProvider = CGDataProviderCreateWithCFData(imageData)
let cgImageRef = CGImageCreateWithJPEGDataProvider(dataProvider, nil, true, CGColorRenderingIntent.RenderingIntentDefault)
let image = UIImage(CGImage: cgImageRef!, scale: 1.0, orientation: UIImageOrientation.Right)
self.tempImageView.image = image
self.tempImageView.hidden = false
UIImageWriteToSavedPhotosAlbum(image, nil, nil, nil);
picArray[index] = image;
}
})
}
}
self.gifView.animationImages = picArray;
self.gifView.animationDuration = 1.0
self.gifView.startAnimating()
}
Ihr 'picArray' ist leer und Sie versuchen, die Elemente auf bestimmte Indizes zu setzen, die nicht existieren - wollten Sie' .append() '? – Hamish