objective-c ios core-animation calayer automatic-ref-counting

objective c - ¿Qué significa "Receptor tipo ''CALayer'' por ejemplo mensaje es una declaración directa" significa aquí?



objective-c ios (1)

Estoy portando un bloque de código de un proyecto iOS4 a iOS5 y tengo algunos problemas con ARC. El código genera un PDF a partir de una captura de pantalla.

Código de Generación de PDF

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

La línea renderInContext

[captureView.layer renderInContext:pdfContext];

genera el siguiente error

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

Alguna idea de lo que está pasando aquí?


Pude duplicar tu problema. Esto es lo que me solucionó.

Agregue QuartzCore.framework a su proyecto y esta línea a su archivo .m.

#import <QuartzCore/QuartzCore.h>