2011-10-18 18 views
117

Tôi đang chuyển một khối mã từ dự án iOS4 sang iOS5 và tôi đang gặp một số vấn đề với ARC. Mã tạo ra một PDF từ một ảnh chụp màn hình."Loại người nhận" CALayer "cho ví dụ là một tờ khai chuyển tiếp" có nghĩa là ở đây?

PDF thế hệ Mã dòng

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

Các renderInContext

[captureView.layer renderInContext:pdfContext];

tạo ra các lỗi sau.

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

Bất kỳ ý tưởng gì đang diễn ra ở đây?

+0

Chỉ cần rõ ràng, captureView là UIView? – NJones

+0

Có, có lẽ nên thêm rằng - captureView là một UIView. –

Trả lời

317

Tôi đã có thể sao chép sự cố của bạn. Đây là thứ đã sửa cho tôi.

Thêm QuartzCore.framework vào dự án của bạn và dòng này vào tệp .m của bạn.

#import <QuartzCore/QuartzCore.h> 
+6

+1 Tuyệt vời! Tôi đáng lẽ phải bắt được cái đó. Cảm ơn! –

+0

Làm thế nào heck tôi vẫn làm lỗi này ... Cảm ơn bạn! –

+0

câu trả lời là tuyệt vời, thông báo lỗi trình biên dịch Xcode cũng tuyệt vời. – rockXrock

Các vấn đề liên quan