2
6枚の写真をアニメーション化するためにオブジェクト配列に格納する際に問題があります。範囲イメージの配列からアニメーションを作成する
のうち
配列のインデックスはまた、私は「画像」のオブジェクトが何らかの理由でif文の外に認識されていないことに気づいた:私はというエラーを取得しておきます。私は間違って何をしていますか?
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() }
あなたの 'picArray'は空であり、存在しない与えられたインデックスで要素を設定しようとしています - あなたは' .append() 'を使うつもりでしたか? – Hamish