2015-05-14 3 views
1

У меня есть этот код:IOS - CGImageRef потенциал Leak

CGImageRef imageRef = CGImageCreateWithImageInRect([image CGImage], rect); 
UIImage *outputimage = [UIImage imageWithCGImage:imageRef 
              scale:image.scale 
            orientation:UIImageOrientationUp]; 

и я получаю предупреждение:

Объект просочилась: объект выделяется и сохраняется в «imageRef» не ссылки позже в этом путь выполнения и имеет сохранить кол +1

Но я использую ARC и не может использовать release или autoRelease. Как это решить?

ответ

2

Просто добавьте этот код

CGImageRelease(imageRef); 

Из CGImageCreateWithImageInRect документа,

Полученное изображение сохраняет ссылку на исходное изображение, которое означает, что вы можете освободить исходное изображение после вызова этой функции.

Итак, что вам нужно сделать, это просто позвонить CGImageRelease, чтобы сделать его сохранить подсчет -1

Смежные вопросы