很多Objective-C教程似乎都使用以下程序:
#import "Foundation/Foundation.h"
int main ()
{
NSAutoreleasePool * pool = [[NSAutoreleasePool alloc] init];
NSLog(@"Hello world!");
[pool drain];
return 0;
}
我确实拿出了有关游泳池的所有内容,而且工作正常。但这给了我一个错误信息。 'NSAutoreleasePool'不可用:在自动参考计数模式下不可用。也许我做错了什么?
我正在使用Xcode 4.3.2。我选择了新项目 - >命令行工具 - >基础。这是我使用的源代码。
答案 0 :(得分:5)
这是因为您正在使用ARC进行编译,并且此源是ARC之前的。如果您更改编译器模式以禁用ARC,它将编译正常。您也可以使用新式自动释放池(也可以不使用ARC):
#import "Foundation/Foundation.h"
int main ()
{
@autoreleasepool {
NSLog(@"Hello world!");
}
return 0;
}
答案 1 :(得分:0)
#import <Foundation/NSAutoreleasePool.h>