如何刪除內存爲const char * arrayName中的iOS中7 分配如何卸下內存是我的代碼通過爲const char *分配的iOS 7
const char *bytes = [encodedString UTF8String];
現在我想釋放bytes
啓用ARC 。我怎樣才能做到這一點。
如何刪除內存爲const char * arrayName中的iOS中7 分配如何卸下內存是我的代碼通過爲const char *分配的iOS 7
const char *bytes = [encodedString UTF8String];
現在我想釋放bytes
啓用ARC 。我怎樣才能做到這一點。
您不應該直接釋放由bytes
指針指向的內存,因爲它由encodedString
對象管理。爲了釋放內存,擺脫對encodedString的所有強引用並釋放內存
您不需要做任何事情來確保它最終會被釋放。引述the documentation:
返回的C字符串是一個指向字符串對象內部的結構,其可具有壽命比字符串對象短,肯定不會具有更長的壽命。因此,如果需要將C字符串存儲在調用此方法的內存上下文之外,則應複製C字符串。
換句話說,你不知道數組的生命期,但你知道它可能不會長壽,它會自動釋放。