我有点担心在iPhone上构建大量的自动释放对象。我的应用程序只是简单,所以它不应该是一个问题,但我只是想检查方法(如下面)是正确的和可接受的iPhone,内存/自动释放对象
-(NSNumber *)numberFromCore {
NSNumber *removedNumber = [[dataCore objectAtIndex:0] retain];
[dataCore removeObjectAtIndex:0];
return [removedNumber autorelease];
}
-(NSString *)coreSizeAsString {
NSString *coreSize = [NSString stringWithFormat:@"%d", [dataCore count]];
return coreSize;
}
如果可能的话我已经使用[[Class alloc] init]
和[Class release]
,但我也应该希望改变上述的便捷方法。
加里
自动释放池在事件循环的每个循环都清空,所以长期累积自动释放对象没有任何问题。如果你在一个循环中分配了很多对象,你可以像@Giao说的那样创建/排除你自己的池。 – 2010-04-09 15:31:02
啊,这解释了很多我正在查看所有锅炉板代码试图找到autorelease池设置的位置。 – fuzzygoat 2010-04-09 15:43:28