“接收器类型'CALayer'例如消息是前向声明”是什么意思?

时间:2011-10-18 20:36:04

标签: objective-c ios core-animation calayer automatic-ref-counting

我正在将一个代码块从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

这里有什么想法?

1 个答案:

答案 0 :(得分:317)

我能够复制你的问题。这就是为我解决的问题。

将QuartzCore.framework添加到项目中,并将此行添加到.m文件中。

#import <QuartzCore/QuartzCore.h>