cStringUsingEncoding:返回一个“const char *”,尽管它返回一个动态分配的 C 字符串(来自它的文档)。那么,这里 const 的目的是什么?我们可以通过转换为 char * 来简单地修改返回的 C 字符串。
cStringUsingEncoding:
保证返回的 C 字符串仅在接收器被释放或当前自动释放池被清空之前有效,以先发生者为准。
我认为库遵循指向常量的常见做法;预计不会被修改或发布。
来自 Objective-C 运行时;
const char * object_getClassName(id obj) -- 没有指定返回的字符串。
char * method_copyArgumentType(Method method, unsigned int index) -- 您必须使用 free() 释放字符串。(可能是因为它正在返回副本而提供建议。)