我是 objective-c 的新手,我不确定这段代码的正确内存管理是什么。
const unsigned char * data =(const unsigned char *) [string UTF8String];
当我调用 free 数据时,出现错误。我需要在这次通话后清理吗?
最佳答案
没有。 “UTF8String”不包含单词 alloc
、copy
、retain
或 create
。因此,您无需对该内存负责。
请注意,如果您希望该数据在 string
被释放后保留下来,您应该复制它;根据契约(Contract),您不对该内存负责,但您也不能保证它会超出提供给您的对象的范围。
关于iphone - [string UTF8String] 的正确内存管理,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2740575/