【发布时间】:2011-02-28 05:14:22
【问题描述】:
我询问了NSAutoreleasePool,并了解在这种情况下我需要显式分配自动释放池。
int main()
{
NSAutoreleasePool *pool = [[NSAutoreleasePool alloc] init];
// Create an array
NSArray *month = [NSArray arrayWithObjects:@ ... nill];
[pool drain];
}
在我的另一个question 中,我不需要释放NSArray,因为它会自动释放。
- (NSArray*) getTodayArray
{
...
NSArray *res = [NSArray arrayWithObjects: year, month, nil];
return res;
}
为了成为自动释放的对象,即使我没有进行任何 NSAutorelease,也应该在 Cocoa 中分配一些 default 自动释放池。 Xcode 生成的 main 函数非常简单。
int main(int argc, char *argv[])
{
return NSApplicationMain(argc, (const char **) argv);
}
正确吗?如果是这样,何时以及如何分配?
【问题讨论】:
标签: objective-c cocoa autorelease