2

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

4

2 回答 2

5

这是因为您正在使用 ARC 进行编译,并且此源是 ARC 之前的。如果您更改编译器模式以禁用 ARC,它将正常编译。您还可以使用新型自动释放池(也可以在没有 ARC 的情况下使用):

#import "Foundation/Foundation.h"

int main ()
{
    @autoreleasepool {
        NSLog(@"Hello world!");
    }
    return 0;
}
于 2012-05-07T18:52:47.173 回答
0
#import <Foundation/NSAutoreleasePool.h>
于 2012-05-07T18:53:55.473 回答