我在iOS应用程序中启用了ARC,我认为这意味着您无法在不设置retain
标志的情况下明确调用release
,autorelease
或-fno-objc-arc
。显然,对于应用程序委托来说,情况并非如此。我在我的项目的“Build Phases”的“Compile Sources”部分下检查了我的AppDelegate文件,它没有列出为我AppDelegate文件设置的任何编译器标志。但是,我可以明确地呼叫release
和autorelease
,但不能retain
。这是巫术的证据,还是苹果工程师采用黑客手段让ARC工作?
答案 0 :(得分:2)
如果您可以发送这些消息,则ARC已关闭。
您可以使用
进行检查#if ! __has_feature(objc_arc)
#error "ARC is off"
#endif