#objective-c #ios #core-animation #calayer #automatic-ref-counting
#objective-c #iOS #ядро-анимация #calayer #автоматический подсчет ссылок
Вопрос:
Я переношу блок кода из проекта 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
Есть идеи, что здесь происходит?
Комментарии:
1. Просто для ясности, captureView — это UIView?
2. Да, вероятно, следовало добавить, что —captureView — это UIView.
Ответ №1:
Я смог дублировать вашу проблему. Это то, что исправило это для меня.
Добавьте QuartzCore.framework в свой проект и эту строку в свой файл .m.
#import <QuartzCore/QuartzCore.h>