有人可以帮我理解分配和内存管理是如何完成和处理的。我给一个伪代码示例和问题,多数民众赞成困扰我是直列以下:与Iphone autorelease使用有关的问题
interface first
{ NSDecimalNumber *number1;
}
implementation
.....
-(void) dealloc {
[number1 release];
[super dealloc];
}
=================================
interface second
{ NSDecimalNumber *number2;
}
implementation second
.....
- (First*) check
{
First *firstObject = [[[First alloc] init] autorelease];
firstObject.number1 = [[NSDecimalNumber alloc] initWithInteger:0];
**// do i need to autorelease number1 as well?**
return firstObject;
}
对这个问题投票抱歉,这是一个基本的内存管理问题,可以在Apple开发人员文档中找到答案。 http://developer.apple.com/library/mac/#documentation/Cocoa/Conceptual/MemoryMgmt/MemoryMgmt.html 但要回答你的问题:你必须autorelease或释放number1。 – Moszi 2011-01-05 21:38:07
@Moszi如果您下载了基本文档可以回答的所有问题,您很快就会用完每日投票津贴。 :-) – 2011-01-05 21:40:32
@middaparka哈哈:) - 我喜欢“第一次阅读,然后问”的方法... – Moszi 2011-01-05 21:45:35