簡體   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