编码时我得到了CFBridgingRelease上对象的潜在泄漏

时间:2013-08-26 11:05:01

标签: objective-c memory-leaks automatic-ref-counting

我正在使用以下代码

+(NSString*)encodeString:(NSString*)p_string
{
    NSString* encodedString = (NSString *)CFBridgingRelease(CFURLCreateStringByAddingPercentEscapes(NULL, CFBridgingRetain(p_string), NULL, (CFStringRef)@"!*'();:@&=+$,/?%#[]", kCFStringEncodingUTF8));

    return encodedString;
}

使用Analyze工具我得到“对象的潜在泄漏” 1.调用函数'CFBridgingRetain'返回一个带有+1保留计数的Core Foundation对象 2.对象泄漏:以后在此执行路径中未引用已分配的对象,并且保留计数为+1

我该如何解决这个问题?

1 个答案:

答案 0 :(得分:0)

明确地桥接传入的字符串:(__bridge CFStringRef)(p_string)而不是CFBridgingRetain(p_string)