【发布时间】:2009-12-08 12:47:05
【问题描述】:
虽然基础类的内存管理是一致的并记录在案,但我惊讶地发现(通过友好的EXC_BAD_ACCESS)像NSStringFromSelector() 这样的基础函数似乎返回指向常量存储的指针 - 至少没有提到在函数的文档中。
该行为是否记录在某处?有没有一致的指导方针?
【问题讨论】:
标签: objective-c cocoa foundation
虽然基础类的内存管理是一致的并记录在案,但我惊讶地发现(通过友好的EXC_BAD_ACCESS)像NSStringFromSelector() 这样的基础函数似乎返回指向常量存储的指针 - 至少没有提到在函数的文档中。
该行为是否记录在某处?有没有一致的指导方针?
【问题讨论】:
标签: objective-c cocoa foundation
这些规则实际上与 Objective-C 方法的规则相同 - 如 these docs for the core foundation functions 所示。
所以在你的例子中,因为 alloc、new、create 或 copy 不存在,所以你返回的对象不属于你(它要么有静态存储,要么会自动释放)。
【讨论】:
new,而 CF 使用Create。