2011-10-18 85 views
117

我正在將iOS4項目中的代碼塊移植到iOS5,並且我在ARC中遇到了一些麻煩。該代碼從屏幕截圖生成PDF。什麼是「接收器類型'CALayer'實例消息是一個前向聲明」是什麼意思?

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

任何想法發生了什麼?

+0

只是要清楚,captureView是一個UIView? – NJones

+0

是的,可能應該添加 - captureView是一個UIView。 –

回答

317

我能夠複製您的問題。這是爲我修復的。

將QuartzCore.framework添加到您的項目中,並將此行添加到.m文件中。

#import <QuartzCore/QuartzCore.h> 
+6

+1非常好!我應該抓住那個。謝謝! –

+0

這是怎麼回事我仍然犯這個錯誤...謝謝! –

+0

的答案很好,Xcode編譯器的錯誤信息也很棒。 – rockXrock

相關問題