it-swarm-id.com

Apa yang dimaksud dengan "Jenis penerima 'CALayer' misalnya pesan adalah pernyataan penerusan" di sini?

Saya porting blok kode dari proyek iOS4 ke iOS5 dan saya mengalami beberapa masalah dengan ARC. Kode ini menghasilkan PDF dari tangkapan layar.

Kode Pembuatan PDF

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

Baris renderInContext

[captureView.layer renderInContext:pdfContext];

menghasilkan kesalahan berikut.

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

Ada ide apa yang terjadi di sini?

119
Jason George

Saya dapat menduplikasi masalah Anda. Inilah yang diperbaiki untuk saya.

Tambahkan QuartzCore.framework ke proyek Anda dan baris ini ke file .m Anda.

#import <QuartzCore/QuartzCore.h>
317
NJones