“接收器类型'CALayer'例如消息是前向声明”在这里是啥意思?
Posted
技术标签:
【中文标题】“接收器类型\'CALayer\'例如消息是前向声明”在这里是啥意思?【英文标题】:What does "Receiver type 'CALayer' for instance message is a forward declaration" mean here?“接收器类型'CALayer'例如消息是前向声明”在这里是什么意思? 【发布时间】:2011-12-10 10:24:01 【问题描述】:我正在将一段代码从 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
有什么想法吗?
【问题讨论】:
明确一点,captureView 是 UIView? 是的,可能应该加上——captureView 是一个 UIView。 【参考方案1】:我能够复制您的问题。这就是为我解决的问题。
将 QuartzCore.framework 添加到您的项目中,并将这一行添加到您的 .m 文件中。
#import <QuartzCore/QuartzCore.h>
【讨论】:
以上是关于“接收器类型'CALayer'例如消息是前向声明”在这里是啥意思?的主要内容,如果未能解决你的问题,请参考以下文章