XCode 4.2.1 @autoreleasepool 不工作
Posted
技术标签:
【中文标题】XCode 4.2.1 @autoreleasepool 不工作【英文标题】:XCode 4.2.1 @autoreleasepool not working 【发布时间】:2012-01-02 16:12:27 【问题描述】:我有一个 Xcode 4.2.1 的控制台应用程序,关键字 @autolreleasepool 没有编译: 编译器似乎已为我的控制台应用程序正确设置: 你有什么建议吗?如果我有 Xcode 4.2.1,我想了解为什么 new 关键字不起作用,我知道如何使用旧语法编写 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;
【问题讨论】:
看看上面的行。您是否错过了终结者,或者看起来有问题?有时会弹出此消息,因为它将当前行解释为上述行的一部分。 我刚刚运行了它,它在我的机器上编译并运行得很好。 @Abizern 你能告诉我你的 main.c 文件的设置是什么吗?我有文件类型:默认 - C 源代码 我发现了问题!我没有使用 Type =“Foundation”创建命令行项目,而是使用了 Type =“Core Foundation”。我将其更改为“Foundation”,现在它可以编译了! 【参考方案1】:我发现了问题! 我没有使用 Type =“Foundation”创建命令行项目,而是使用了 Type =“Core Foundation”。我将其更改为“Foundation”,现在它可以编译了!
【讨论】:
【参考方案2】:此文件是否启用了 ARC?检查项目/目标级别设置和文件的各个编译器标志。
【讨论】:
是的,文件和项目都是使用 ARC 配置的,我不明白为什么它不能编译 那么它可能有助于显示稍大的代码 sn-p - 错误可能在 @autoreleasepool 语句之前。 我有一个 Cocoa 应用程序,如果我使用 @autoreleasepool 关键字它可以完美运行,它还会从智能感知中弹出,在这个控制台应用程序中,在 .c 文件中,它没有。 ???@autoreleasepool
不需要 ARC,只需 LLVM 编译器 3.0:***.com/questions/7950583/autoreleasepool-without-arc
酷!每天学习一些东西以上是关于XCode 4.2.1 @autoreleasepool 不工作的主要内容,如果未能解决你的问题,请参考以下文章
XCode 4.2.1 @autoreleasepool 不工作
使用 Xcode 4.3 for iOS 4.2.1 进行开发
如何在 xcode 4.2.1 中将应用程序上传到 iTunes 连接?