我写了以下代码行:
NSMutableArray *array=[[NSMutableArray alloc]init];
这会分配一些内存。我的问题是,我们以后如何释放这块内存,是使用removeAllObjects方法还是[数组释放]?
这两种方法具有相同的功能吗?
当您向数组添加一个对象时,该对象的保留计数将增加 1。当您从数组中删除该对象时,保留计数将减少 1 以平衡它。但如果释放数组,所有对象都会自动收到释放消息。所以在释放数组之前不需要调用removeAllObjects。
从技术上讲,这两种方法并不相同。如果调用removeAllObjects,数组将变空,所有对象都会收到释放消息,但数组本身仍然没有释放。当你调用release函数时,数组就会被释放。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)