Objective c 基础功能的内存管理指南 虽然基础类的内存管理是一致的和文档化的,但我惊奇地发现(通过友好 ExcBADIAccess ),基础函数(如g NStrugOnSoundStudioTor()/代码>似乎将指针返回到常量存储——至少在函数文档中没有提及。
这种行为有记录吗?是否有一致的指导原则?这些规则实际上与Objective-C方法的规则相同-如图所示Objective c 基础功能的内存管理指南 虽然基础类的内存管理是一致的和文档化的,但我惊奇地发现(通过友好 ExcBADIAccess ),基础函数(如g NStrugOnSoundStudioTor()/代码>似乎将指针返回到常量存储——至少在函数文档中没有提及。,objective-c,cocoa,foundation,Objective C,Cocoa,Foundation,这种行为有记录吗?是否有一致的指导原则?这些规则实际上与Objective-C方法的规则相同-如图所示 因此,在您的示例中,由于单词alloc、new、create或copy不存在,因此您返回的对象不属于您(它将具有静态存储或将自动删除)。这些规则实际上与Objective-C方法的规则相同,如所示 因此,在您的示例中,因为单词alloc、new、create或copy不存在,所以您返回的对象不是您所有的(它将具有静态存储或将自动删除)。我读了它,不知怎么又忘记了它-谢谢。您显然没有“保留”它;
因此,在您的示例中,由于单词
alloc
、new
、create
或copy
不存在,因此您返回的对象不属于您(它将具有静态存储或将自动删除)。这些规则实际上与Objective-C方法的规则相同,如所示
因此,在您的示例中,因为单词
alloc
、new
、create
或copy
不存在,所以您返回的对象不是您所有的(它将具有静态存储或将自动删除)。我读了它,不知怎么又忘记了它-谢谢。您显然没有“保留”它;-)Cocoa有自己的内存管理文档()。规则略有不同;CF没有自动释放功能,Cocoa使用new
,而CF使用Create
。这些内存管理规则可能会有所帮助-@Peter-是的,这就是为什么我将new和create都包括在我的列表中:-)但是你指出的区别是正确的,因为这成为了公认的答案我读了它,不知怎么的又忘记了它-谢谢。你显然没有“保留”它;-)Cocoa有自己的内存管理文档()。规则略有不同;CF没有自动释放功能,Cocoa使用new
,而CF使用Create
。这些内存管理规则可能会有所帮助-@Peter-是的,这就是为什么我在列表中同时包含new和Create:-)但您指出的区别是正确的,因为这已成为公认的答案