< p > Objective-C 中类名的最大长度是多少?我在 Xcode 文档集和谷歌上都没有找到任何提示。< /p > < p > 我正在编写一些运行时辅助工具,如果知道我的类型编码的字符缓冲区足够大就好了。< /p >
由于Objective C不是标准化编程语言,所以无法准确回答这个问题。但它取决于编译器的支持。我猜主要的Objective C编译器(Clang/LLVM,GCC)都支持各种长度的类名。要了解详情,您需要查看它们的源代码。但由于它们都是用C++编写的,因此它们可能会利用std:string并且因此与长度无关。我尝试使用clang/llvm在Xcode中编译一个类名为100,000个字符的项目,结果运行良好。因此,您的缓冲区可能不够大。
我不认为类名有硬性限制,为什么会有呢?由于 Obj-C 是在 C 之上运行的,因此应遵循它们的标准。C 中的标识符没有最大长度,如在问题 "Max identifier length" 中所指出的。你很少会遇到超过100个字符的类名,但你可以使用更大的缓冲区来更加安全。
NSString
或std::string
这样的字符串对象,从而完全避免这个问题呢? - trojanfoestd::string
。 - Jonathan Cichon