我不熟悉iOS 5.0中的自动引用计数,并将旧项目从手动内存管理转换为ARC。一切正常(除了Apples Reachability类,我使用-fno-objc-arc编译器标志为选定的第三方库关闭了ARC)。我在这里下载了一个ARC'ified版本的Reachability
https://gist.github.com/1182373
这似乎适用于许多人。
我收到以下编译错误:
use of undeclared identifier '__bridge' [3]
NSCAssert([(__bridge NSObject*) info isKindOfClass: [Reachability class]], @"info was wrong class in ReachabilityCallback");
之前我的项目中有一个较旧的(非ARC)Reachability版本,之前用-fno-objc-arc标志编译它。我删除了编译器标志,清理和编译,但不断收到上述错误。删除__bridge符号时,我得到了预期的以下错误
error: cast to 'NSObject *' of a non-Objective-C to an Objective-C pointer is disallowed with Automatic Reference Counting [4]
NSCAssert([(NSObject*) info isKindOfClass: [Reachability class]], @"info was wrong class in ReachabilityCallback");
因此您可以看到ARC确实已打开。我使用XCode 4.2(build 4D5031b)。
我很感激您可能提供的任何见解!提前谢谢。
干杯, 乔治