Iphone 对象与NSmutableArray对象与NSmutableArray对象-如何发布

Iphone 对象与NSmutableArray对象与NSmutableArray对象-如何发布,iphone,objective-c,xcode,ios,memory-management,Iphone,Objective C,Xcode,Ios,Memory Management,如果我有一个祖父对象,它包含一个父对象数组,而父对象数组包含一个子对象数组。假设我在将对象添加到数组后释放了对象,那么如何释放所有对象呢?我可以调用祖父对象上的removeallobjects吗?当我这样做的时候,我得到了一个漏洞:( 谢谢只需在“祖父”对象上调用release,它将释放“父”对象,父对象将释放“子”对象,等等。一直向下(或向上,取决于您如何看待它) 本质上,当您释放一个NS(可变)数组时,它将释放它有指针指向的对象-如果这些对象恰好是NS(可变)数组,它们将因此释放它们有指针指

如果我有一个祖父对象,它包含一个父对象数组,而父对象数组包含一个子对象数组。假设我在将对象添加到数组后释放了对象,那么如何释放所有对象呢?我可以调用祖父对象上的removeallobjects吗?当我这样做的时候,我得到了一个漏洞:(


谢谢

只需在“祖父”对象上调用
release
,它将释放“父”对象,父对象将释放“子”对象,等等。一直向下(或向上,取决于您如何看待它)


本质上,当您释放一个NS(可变)数组时,它将释放它有指针指向的对象-如果这些对象恰好是NS(可变)数组,它们将因此释放它们有指针指向的对象…

这是我的理解,我不确定为什么会发生泄漏:(确保您的孩子没有保留他们的父母-这会创建一个保留周期。是的,这意味着图形中的一个或多个对象有另一个丢失的保留。这可能是一个周期,也可能只是丢失的保留。您可以使用配置为“记录参考计数”的仪器分配配置文件。)查看任何对象上的所有保留/发布。这是一个很棒的工具!@Skeep只是想让您知道@vicvic和@ipmcc已经在这个答案上发布了一些额外的评论,这些评论可能非常有用。:-)