例如,“接收者类型‘CALayer’是一个前向声明”是什么意思?

内容来源于 Stack Overflow,并遵循CC BY-SA 3.0许可协议进行翻译与使用

  • 回答 (1)
  • 关注 (0)
  • 查看 (10)

我正在将iOS 4项目中的一段代码移植到iOS 5上,而且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>

扫码关注云+社区