[objective-c] 여기서 “인스턴스 메시지가 전달 선언 인 경우 수신인 유형 ‘CALayer'”는 무엇을 의미합니까?

iOS4 프로젝트에서 iOS5로 코드 블록을 이식하고 있는데 ARC에 문제가 있습니다. 코드는 화면 캡처에서 PDF를 생성합니다.

PDF 생성 코드

UIView *captureView;
...
NSMutableData *pdfData = [NSMutableData data];
UIGraphicsBeginPDFContextToData(pdfData, captureView.bounds, nil);
UIGraphicsBeginPDFPage();
CGContextRef pdfContext = UIGraphicsGetCurrentContext();
[captureView.layer renderInContext:pdfContext];
UIGraphicsEndPDFContext();

renderInContext 라인

[captureView.layer renderInContext:pdfContext];

다음 오류를 생성합니다.

Automatic Reference Counting issue
Receiver type 'CALayer' for instance message is a forward declaration

여기서 무슨 일이 일어나고 있는지 아이디어가 있습니까?



답변

나는 당신의 문제를 복제 할 수있었습니다. 이것이 나를 위해 그것을 고친 것입니다.

프로젝트에 QuartzCore.framework를 추가하고이 줄을 .m 파일에 추가합니다.

#import <QuartzCore/QuartzCore.h>


답변