2

多くのObjective-Cチュートリアルは、次のプログラムを使用しているようです。

#import "Foundation/Foundation.h"

int main ()
{
    NSAutoreleasePool * pool = [[NSAutoreleasePool alloc] init];
    NSLog(@"Hello world!");
    [pool drain];
    return 0;
}

私はプールに関するすべてのものを取り出しました、そしてそれはうまくいきました。しかし、これは私にエラーメッセージを与えています。「NSAutoreleasePool」は使用できません。自動参照カウントモードでは使用できません。多分私は何か間違ったことをしましたか?

Xcode4.3.2を使用しています。新しいプロジェクト->コマンドラインツール->Foundationを選択しました。そして、これは私が使用したソースコードでした。

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 に答える