119 votes

Que signifie "le type de récepteur" CALayer "par exemple un message est une déclaration" signifie ici "?

Je porte un bloc de code d'un projet iOS4 sur iOS5 et j'ai des problèmes avec ARC. Le code génère un PDF à partir d'une capture d'écran.

Code de génération PDF

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

La ligne renderInContext

 [captureView.layer renderInContext:pdfContext]; 

génère l'erreur suivante.

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

Des idées sur ce qui se passe ici?

317voto

NJones Points 20265

J'ai pu dupliquer votre problème. C'est ce qui a été corrigé pour moi.

Ajoutez QuartzCore.framework à votre projet et cette ligne à votre fichier .m.

 #import <QuartzCore/QuartzCore.h>
 

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X