预期标识符和ARC

时间:2013-09-01 23:05:04

标签: ios automatic-ref-counting

我正在使用BjörnSållarp优秀的前向地理编码器,可在http://blog.sallarp.com/ipad-iphone-forward-geocoding-api-google/找到

但是,我必须摆脱代码中的“autorelease”,因为ARC不支持它。现在我有一个“预期标识符”问题。有谁知道如何处理这个?这是原始和受影响的代码:

ORIGINAL:

return [(NSString *)CFURLCreateStringByAddingPercentEscapes(kCFAllocatorDefault, (CFStringRef)string, NULL, (CFStringRef)kBSGeocodingLegalCharactersToBeEscaped, kCFStringEncodingUTF8) autorelease];

MY VERSION:

return [(NSString *)CFBridgingRelease(CFURLCreateStringByAddingPercentEscapes(kCFAllocatorDefault, (CFStringRef)string, NULL, (CFStringRef)kGeocodingLegalCharactersToBeEscaped, kCFStringEncodingUTF8))];

顺便说一句,Xcode建议将“CFBridgingRelease”添加到原始代码中。

3 个答案:

答案 0 :(得分:0)

松开外括号:

return (NSString*)CFBridgingRelease(CFURLCreateStringByAddingPercentEscapes(kCFAllocatorDefault, (CFStringRef)string, NULL, (CFStringRef)kGeocodingLegalCharactersToBeEscaped, kCFStringEncodingUTF8));

答案 1 :(得分:0)

return (__bridge_transfer NSString *)CFURLCreateStringByAddingPercentEscapes(kCFAllocatorDefault, (__bridge CFStringRef)string, NULL, (__bridge CFStringRef)kGeocodingLegalCharactersToBeEscaped, kCFStringEncodingUTF8);

答案 2 :(得分:0)

转到Build Phases找到classe并在Compiler Flgas中输入:-fno-objc-arc清除项目并完成