我知道为什么会收到这些消息:
NSAutoreleasePool不可用:自动参考不可用 计数模式
ARC禁止发布'release'
的显式消息
在此代码中:
#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;
}
答案 0 :(得分:7)
这是因为您正在使用自动引用计数进行编译。您需要在ARC中使用不同的构造:
@autoreleasepool {
// Your code
}
答案 1 :(得分:7)
是的,您启用了自动引用计数,这不允许您明确使用'release'。您需要禁用ARC或将主方法更改为如下所示:
int main(int argc, char *argv[])
{
@autoreleasepool {
return UIApplicationMain(argc, argv, nil, NSStringFromClass([AppDelegate class]));
}
}
答案 2 :(得分:0)
在targets-&gt; Build settings-&gt; Apple LLVM Complailer 3.0
下Objective-C垃圾收集(更改为)支持[-fobjc-gc]