Objective c NSAutorelease是否需要成为主线中的第一行?

Objective c NSAutorelease是否需要成为主线中的第一行?,objective-c,Objective C,只是好奇NSAutoreleasePool是否需要位于main的顶部,或者您可以在它之前声明变量 int main (int argc, const char * argv[]) { int myNumber; int myOtherNumber; NSAutoreleasePool * pool = [[NSAutoreleasePool alloc] init]; [pool drain]; return 0; } 干杯-gary-您可以随时创

只是好奇NSAutoreleasePool是否需要位于main的顶部,或者您可以在它之前声明变量

int main (int argc, const char * argv[]) {

    int myNumber;
    int myOtherNumber;

    NSAutoreleasePool * pool = [[NSAutoreleasePool alloc] init];

    [pool drain];
    return 0;
}

干杯-gary-

您可以随时创建池,您只是不想在声明池之前声明自动释放变量。

您可以随时创建池,您只是不想在声明池之前声明自动释放变量。

除非您没有分配任何Objective-C对象(并自动释放它们)你应该没事的。
我不知道您为什么要这样做?

除非您没有分配任何Objective-C对象(并自动删除它们),否则您应该没事。
我不知道你为什么要这样做?

那应该是“你不想自动释放对象”-没有自动释放变量,显然也没有办法创建一个。是的,你是对的。不要在没有池的情况下进行autoreleasy操作。@jeff+1表示“autoreleasy”=d的合法用法应该是“您不想自动释放对象”-没有autorelease变量,显然也没有创建autorelease变量的方法。是的,您是对的。不要在没有池的情况下做autoreleasy的事情。@jeff+1合法使用“autoreleasy”=DI只是好奇,我会在下面声明一些事情,似乎更好的做法。。。谢谢你我只是好奇,我会在下面声明一些东西,似乎更好的练习。。。非常感谢。