2014-06-11 32 views
1

如何刪除內存爲const char * arrayName中的iOS中7 分配如何卸下內存是我的代碼通過爲const char *分配的iOS 7

const char *bytes = [encodedString UTF8String]; 

現在我想釋放bytes啓用ARC 。我怎樣才能做到這一點。

回答

0

您不應該直接釋放由bytes指針指向的內存,因爲它由encodedString對象管理。爲了釋放內存,擺脫對encodedString的所有強引用並釋放內存

2

您不需要做任何事情來確保它最終會被釋放。引述the documentation

返回的C字符串是一個指向字符串對象內部的結構,其可具有壽命比字符串對象短,肯定不會具有更長的壽命。因此,如果需要將C字符串存儲在調用此方法的內存上下文之外,則應複製C字符串。

換句話說,你不知道數組的生命期,但你知道它可能不會長壽,它會自動釋放。