MacRuby를 사용하여 NSOperation 내에서 CoreGraphics/CoreImage 조작을 수행하려고합니다. CG로 소스 파일을 읽고 CGImageDestination을 설정하는 몇 가지 API 호출이 있습니다.EXC BAD 액세스 NSOperation의 CoreGraphics API에서
@dest = CGImageDestinationCreateWithURL(@photo.output_url, "public.jpeg" , 1, nil);
@context = CIContext.alloc.init
@cgOriginalImgSrc = CGImageSourceCreateWithURL(@photo.url, nil)
@cgOriginal = CGImageSourceCreateImageAtIndex(@cgOriginalImgSrc, 0, nil)
을하지만이 NSOperation의 주요 기능에 동일한 코드를 넣어 경우, 나는 산발적 EXC_BAD_ACCESS 오류를 얻을 :
내가 NSOperation.init에 다음 코드를 삽입하면 모든 것이 잘 작동합니다. NSOperation을 NSOperationQueue에 전달할 때만; 내 자신을 main 호출하면 잘 작동합니다. 주의 끝에서
나는 실행하고 있습니다 :
CFRelease(@dest)
CFRelease(@cgOriginalImgSrc)
CGImageRelease(@cgOriginal)
심지어 낯선 사람이 초기화에서 작동되고, 초기화가 메인 스레드 (그렇게하지 메인 스레드/백그라운드 스레드에서 호출되지 않은 경우에도 문제, 나는 추측하고있다)
어떤 생각?