2011-09-15 115 views
0

如何恆定的聲明如下一類的實現部分被釋放:我們需要釋放常量嗎?

static NSString *myconst = @"some data..."; 

THX幫助,

斯特凡

+0

http://stackoverflow.com/questions/5568691/how-to-release-static-objective-c-variables – albertamg

回答

1

您不必將其釋放。字符串文字駐留在可執行文件的數據部分,而不是在動態分配的內存(AKA堆)中。

雖然不小心打電話給release沒有什麼壞處。我非常肯定文字有線會悄悄地忽略這個呼叫。

1

將上述類型的字符串保留,釋放和自動釋放消息將被忽略。

閱讀蘋果的內存管理文檔here

不過這裏有一點要注意的是通過發佈崩潰的應用程序。因此,通常的想法是,如果你沒有使用alloc或保留字符串,不要試圖釋放它。

也讀這個有用的鏈接here這解釋了同樣的事情。

2

不,您不需要釋放使用@""創建的字符串。您只需要釋放使用alloc,retain,copynew創建的對象。