"Alıcı tipi 'CALayer', örneğin mesaj bir ileri bildirimdir" burada ne anlama geliyor?


119

Bir iOS4 projesinden iOS5'e bir kod bloğu taşıyorum ve ARC ile bazı sorunlar yaşıyorum. Kod, bir ekran görüntüsünden bir PDF oluşturur.

PDF Oluşturma Kodu

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

RenderInContext satırı

[captureView.layer renderInContext:pdfContext];

aşağıdaki hatayı oluşturur.

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

Burada neler olduğuna dair bir fikriniz var mı?


Açık olmak gerekirse, captureView bir UIView mi?
NJones

Evet, muhtemelen eklemeliydim - captureView bir UIView.
Jason George

Yanıtlar:


316

Sorununuzu tekrarlayabildim. Bunu benim için düzelten şey buydu.

QuartzCore.framework'ü projenize ve bu satırı .m dosyanıza ekleyin.

#import <QuartzCore/QuartzCore.h>
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.