我正在使用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”添加到原始代码中。
答案 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清除项目并完成