Що тут означає "Тип приймача" CALayer ", наприклад, повідомлення в прямому напрямку?


119

Я переношу блок коду з проекту iOS4 на iOS5, і у мене виникають проблеми з ARC. Код генерує PDF із захоплення екрана.

Генераційний код PDF

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

Рядок renderInContext

[captureView.layer renderInContext:pdfContext];

генерує таку помилку.

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

Якісь ідеї, що тут відбувається?


Просто, щоб зрозуміти, captureView - це UIView?
NJones

Так, напевно, слід було б додати, що - captureView - це UIView.
Джейсон Джордж

Відповіді:


316

Мені вдалося скопіювати вашу проблему. Це те, що мене виправило.

Додайте QuartzCore.framework до свого проекту, а цей рядок - у файл .m.

#import <QuartzCore/QuartzCore.h>
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.