繁体   English   中英

发布数组Objective-C

[英]releasing arrays objective-c

在Objective-c中,我有以下内容:

SomeObject *values[3][3];

取消分配时,如在C ++中一样,应该逐个释放元素吗?

或者,如果我这样做:

[values release];

可以吗

release仅适用于Objective-C对象。 AC样式数组(就像您在那儿一样)只是一些堆栈内存。

就您而言,您似乎正在使用它在其中存储3x3 = 9个Objective-C对象。 如果要全部释放它们,则需要逐个元素地进行操作。 在这种情况下,C ++类比不成立,因为数组本身不是Objective-C对象。

(如果您将内容保存在NSMutableArray中,答案将有所不同。您应该顺便调查一下。)

它是一个指针数组。 只是values指向第一个对象,因此[values release]将仅释放第一个对象。 您必须释放数组中的每个对象。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM