Objective C Hello World错误

时间:2012-05-07 18:50:51

标签: objective-c

很多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。我选择了新项目 - >命令行工具 - >基础。这是我使用的源代码。

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>