我有一个使用 ARC 的 iOS 项目,我收到与创建应用程序的 @autoreleasepool 的方式相关的错误。
在 main.m 中,我有一小段代码,例如:
#import <UIKit/UIKit.h>
int main(int argc, char *argv[]) {
@autoreleasepool {
return UIApplicationMain(argc, argv, nil, @"MyAppDelegate");
}
}
我收到错误消息:
错误:'@'令牌之前的预期表达式
但是,如果我恢复到创建自动释放池的旧样式:
#import <UIKit/UIKit.h>
int main(int argc, char *argv[]) {
NSAutoreleasePool * pool = [[NSAutoreleasePool alloc] init];
int retVal = UIApplicationMain(argc, argv, nil, nil);
[pool release];
return retVal;
}
我在 IDE 中特别收到与 ARC 相关的各种错误:
- NSAutoreleasePool 不可用:在自动引用计数模式下不可用
- ARC 禁止发送“释放”的显式消息
但是,当我尝试构建时,它会成功构建。
冲突在哪里?
如何让它使用创建自动释放池的新样式?