iphone - [string UTF8String] 的正确内存管理

标签 iphone objective-c nsstring

我是 objective-c 的新手,我不确定这段代码的正确内存管理是什么。

const unsigned char * data =(const unsigned char *) [string UTF8String];

当我调用 free 数据时,出现错误。我需要在这次通话后清理吗?

最佳答案

没有。 “UTF8String”不包含单词 alloccopyretaincreate。因此,您无需对该内存负责。

请注意,如果您希望该数据在 string 被释放后保留下来,您应该复制它;根据契约(Contract),您不对该内存负责,但您也不能保证它会超出提供给您的对象的范围。

关于iphone - [string UTF8String] 的正确内存管理,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2740575/

相关文章:

objective-c - Objective C ==> unichar[] 到 NSString?

iphone - 从 iOS 5.1 中的警报按钮操作打开设置 → Wifi

iphone - 当用户触摸 uiview 时隐藏键盘

后端iOS动态应用流控

.net - MonoTouch 中是否缺少 NSDiacriticInsensitiveSearch 比较选项?

swift - 如何使用带标点符号的 NSString EnumerationOptions.Words

iphone - UItableViewGrouped中出现多次的文本字段

ios - Obj-C ARC模式下的dealloc方法是否需要手动释放block变量?

ios - xcode 上架构 x86_64 错误的 undefined symbol

iphone - iPad 应用程序中的自定义 map