2016-06-03 1 views
0

Когда я высвобождать в течение цикла, анализ показать ошибку:CFRelease в течение ошибки контура: Некорректное декремент счетчика ссылок на объект, который не принадлежит в данный момент вызывающей

Incorrect decrement of the reference count of an object that is not owned at this point by the caller

Что я делаю неправильно?

for (size_t i = 0; i < frameCount; ++i) { 
    NSDictionary *dict = (NSDictionary*)CFBridgingRelease(CGImageSourceCopyPropertiesAtIndex(gifSource, i, NULL)); 

    NSDictionary *gifDict = [dict valueForKey:(NSString*)kCGImagePropertyGIFDictionary]; 
    [delayTimes addObject:[gifDict valueForKey:(NSString*)kCGImagePropertyGIFDelayTime]]; 
    totalTime = totalTime + [[gifDict valueForKey:(NSString*)kCGImagePropertyGIFDelayTime] floatValue]; 
    CFRelease((__bridge CFTypeRef)(dict)); //Analyze showgin error here. 
} 

ответ

0

id __nullable CFBridgingRelease(CFTypeRef CF_CONSUMED __nullable X) { return (__bridge_transfer id)X; }

Я думаю, что не нужно CFRelease (Dict), потому что я передал собственность на ARC в __bridge_transfer

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

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