如何删除const char * iOS 7分配的内存

时间:2014-06-11 07:56:50

标签: objective-c ios7 memory-leaks char const

如何在iOS 7中删除const char * arrayname分配的内存。 这是我的代码

 const char *bytes = [encodedString UTF8String];

现在我想在启用ARC的情况下发布bytes。我怎么能这样做。

2 个答案:

答案 0 :(得分:2)

您无需做任何事情以确保最终发布。引用the documentation

  

返回的C字符串是指向字符串对象内部结构的指针,该结构的生命周期可能短于字符串对象,并且肯定不会有更长的生命周期。因此,如果需要将C字符串存储在您调用此方法的内存上下文之外,则应复制该字符串。

换句话说,你不知道数组的生命周期,但是你知道它可能不会长寿,它将自动释放。

答案 1 :(得分:0)

您不应该直接释放由bytes指针指向的内存,因为它由encodedString对象管理。释放那个内存去掉所有对encodedString的强引用,内存应该被释放