我有这个classA,它有一个方法,从另一个classB调用来获取精灵的坐标。
当我在classA中调用该方法时,它返回NSMutablearray,但后来我想释放该数组。 所以,如果我发布classA,那可以吗?其中所有已分配的数组都是releaseD?没有.. 或者我应该在被叫classA的dealloc中释放数组吗?
gameHandler.m
-(NSMutableArray*)stand2_Co
{
...
return myArray
}
然后从另一个类调用它:
theLevel=[[gameHandler alloc] init];
..
..
int theNumber = [ [ [theLevel stand2_Co] objectAtIndex:0] integerValue];
[theLevel release];
如果我发布了gameHandler,我还需要发布那个数组吗? 如果是的话,我应该什么时候这样做?
非常感谢。
答案 0 :(得分:1)
我建议你运行Analyzer工具和内存泄漏测试仪来验证没有泄露任何内容。我建议您在ClassA中专门发布thEdit数组。任何已分配的内容也应由调用者或分配者释放。
答案 1 :(得分:1)
您应该release
班级中retained
或allocated
的所有对象。
如果您正在使用其他课程中的某些对象,那么您应该retain
他们确保在您上课期间他们将活着。
答案 2 :(得分:0)
使用名称以“alloc”开头的方法创建对象, “new”,“copy”或“mutableCopy”(例如,alloc,newObject或 mutableCopy)。
您通过向对象发送释放消息来放弃对象的所有权 或自动发布消息。在可可术语中,放弃 因此,对象的所有权通常被称为 “释放”一个物体。
这是以前的政策规则的必然结果 明确。