#ios #objective-c #xcode #memory-leaks #automatic-ref-counting
#iOS #objective-c #xcode #утечки памяти #автоматический подсчет ссылок
Вопрос:
Запустив свой код в Xcode Analyze, я наткнулся на следующий блок
- (UIImage *)imageWithFilter:(CIFilter *)filter
{
CIContext *ctx = [CIContext contextWithOptions:nil];
CGImageRef imageRef = [ctx createCGImage:filter.outputImage fromRect:CGRectMake(0, 0, self.size.width, self.size.height)];
return [UIImage imageWithCGImage:imageRef];
}
Xcode жалуется на потенциальную утечку памяти:
Что происходит? И как мне это исправить?
Ответ №1:
Следующее выглядит как исправление, все еще не уверен, является ли это лучшим способом обработки этой сохраненной ссылки?
- (UIImage *)imageWithFilter:(CIFilter *)filter
{
CIContext *ctx = [CIContext contextWithOptions:nil];
CGImageRef imageRef = [ctx createCGImage:filter.outputImage fromRect:CGRectMake(0, 0, self.size.width, self.size.height)];
UIImage *image = [UIImage imageWithCGImage:imageRef];
CGImageRelease(imageRef);
return image;
}
Комментарии:
1. Это лучший способ. Я могу тебя: D