私はいくつかのサンプルコードを使用しています。私は基本的にAVCamRecorderを使ってスナップショットを作成するチュートリアルから得ました。画像を保存しません。ボタンをクリックするたびにライブカメラビューの下にちょっとした矩形で表示されます。イメージを更新するためにボタンをクリックするたびにメモリが割り当てられるように思われたので、if (image) {[image release]}
を置き、残りのコードを続けてイメージをキャプチャしました。私がそこに遭遇した問題は、ボタンを十分速く繰り返しクリックすると、ついにEXC_BAD_ACCESSにぶつかりました。私はそれを私のビューに割り当てる直前にif (image)
を挿入しようとしましたが、私はまだEXC_BAD_ACCESSを取得します。私は最後にを追加しようとしましたが、どちらも役に立たなかった。ボタンを数回クリックしてもEXC_BAD_ACCESSが表示されます。このビューを再利用する適切な方法はありますか?ありがとうUIImageを再利用する方法
if (image) {
[image release];
exifAttachments = nil;
}
[[self stillImageOutput] captureStillImageAsynchronouslyFromConnection:stillImageConnection completionHandler:^(CMSampleBufferRef imageDataSampleBuffer, NSError *error) {
exifAttachments = CMGetAttachment(imageDataSamplebuffer, kCGImagePropertyExifDictionary, NULL);
if (exifAttachments) {
// NSLog
} else {
// NSLog
}
NSData *imagedata = [AVCaptureStillImageOutput jpegStillImageNSDataRepresentation:imageDataSampleBuffer];
image = [[UIImage alloc] initWithData:imageData];
if (image) {
self.capturedPicView.image = image;
}
}];`
それは.. – Filo
ありがとう、ディパク。 – Filo
私はEXC_BAD_ACCESSをself.capturedPicView.image = image – Filo