Objective c RemoveAllObject和NSMutableArray的发行版是否都具有相同的功能?

Objective c RemoveAllObject和NSMutableArray的发行版是否都具有相同的功能?,objective-c,nsmutablearray,release,Objective C,Nsmutablearray,Release,我已经编写了以下代码行: NSMutableArray *array=[[NSMutableArray alloc]init]; 这会分配一些内存。我的问题是,无论是使用removeAllObjects方法还是[array release],我们以后如何释放此内存 这两种方法是否具有相同的功能 将对象添加到数组时,对象的保留计数将增加1。从阵列中删除该对象时,保留计数将减少1以平衡该对象。但是,如果释放阵列,所有对象将自动收到释放消息。因此,在释放数组之前,不需要调用RemoveAllObje

我已经编写了以下代码行:

NSMutableArray *array=[[NSMutableArray alloc]init];
这会分配一些内存。我的问题是,无论是使用removeAllObjects方法还是[array release],我们以后如何释放此内存


这两种方法是否具有相同的功能

将对象添加到数组时,对象的保留计数将增加1。从阵列中删除该对象时,保留计数将减少1以平衡该对象。但是,如果释放阵列,所有对象将自动收到释放消息。因此,在释放数组之前,不需要调用RemoveAllObject


从技术上讲,这两种方法是不同的。如果调用removeAllObjects,数组将变为空,所有对象都将收到释放消息,但数组本身仍未释放。当您对数组调用release时,它将被释放。

当您向数组中添加对象时,对象的保留计数将增加1。从阵列中删除该对象时,保留计数将减少1以平衡该对象。但是,如果释放阵列,所有对象将自动收到释放消息。因此,在释放数组之前,不需要调用RemoveAllObject


从技术上讲,这两种方法是不同的。如果调用removeAllObjects,数组将变为空,所有对象都将收到释放消息,但数组本身仍未释放。当您对数组调用release时,它将被释放。

那么,为什么在调用removeAllObjects时会释放我的NSMutableArray?在这种情况下不应释放它。可能还有其他问题。你能发布一些代码让我们试一试吗?那为什么我调用removeAllObjects时会释放我的NSMutableArray?在这种情况下不应该释放它。可能还有其他问题。你能发一些代码让我们试试吗?