0

我正在使用 Björn Sållarp 出色的 Forward Geocoder,可在http://blog.sallarp.com/ipad-iphone-forward-geocoding-api-google/找到

但是,我不得不去掉代码中的“自动释放”,因为 ARC 不支持它。现在我有一个“预期标识符”问题。有谁知道如何处理这个?这是原始代码和受影响的代码:

原来的:

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

我的版本:

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

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

4

3 回答 3

0

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

于 2013-09-02T18:32:37.200 回答
0
return (__bridge_transfer NSString *)CFURLCreateStringByAddingPercentEscapes(kCFAllocatorDefault, (__bridge CFStringRef)string, NULL, (__bridge CFStringRef)kGeocodingLegalCharactersToBeEscaped, kCFStringEncodingUTF8);
于 2013-09-02T18:21:41.193 回答
0

松开外括号:

return (NSString*)CFBridgingRelease(CFURLCreateStringByAddingPercentEscapes(kCFAllocatorDefault, (CFStringRef)string, NULL, (CFStringRef)kGeocodingLegalCharactersToBeEscaped, kCFStringEncodingUTF8));
于 2013-09-01T23:23:49.657 回答