我有一个带有Xcode 4.2.1的控制台应用程序,关键字@autolreleasepool没有编译: 似乎为我的控制台应用程序正确设置了编译器: 你有什么建议吗?我想了解为什么如果我有Xcode 4.2.1新关键字不起作用,我知道如何使用旧语法编写autoreleasepool。
更新
这是无法编译的代码
#include <CoreFoundation/CoreFoundation.h>
int main (int argc, const char * argv[])
{
@autoreleasepool{
NSMutableArray *array;
array = [[NSMutableArray alloc] init];
int i;
for (i = 0; i < 10; i++) {
NSNumber *newNumber =
[[NSNumber alloc] initWithInt:(i * 3)];
[array addObject:newNumber];
}
for ( i = 0; i < 10; i++) {
NSNumber *numberToPrint = [array objectAtIndex:i];
NSLog(@"The number at index %d is %@", i, numberToPrint);
}
}
return 0;
}
答案 0 :(得分:1)
我发现了这个问题! 我没有使用Type =“Foundation”创建命令行项目,而是使用了Type =“Core Foundation”。我把它改成了“基础”,现在它编译了!
答案 1 :(得分:0)
是否为此文件启用了ARC?检查项目/目标级别设置和文件的各个编译器标志。