3

类名的最大长度是objective-c多少?我在 xcode 文档集中找不到任何提示,谷歌也没有帮助。

我目前正在编写一些运行时助手,很高兴知道我的用于类型编码的字符缓冲区是否足够大。

4

2 回答 2

2

我不相信对类名大小有硬性限制,为什么会有?

Obj-C 在 C 之上运行,它将遵循他们的标准。C 中的标识符没有最大长度,如问题“最大标识符长度”中所述

您不太可能遇到超过 100 个字符的类名,但您总是可以拥有更大的缓冲区以更安全。

于 2013-02-05T09:50:53.183 回答
2

由于 Objective C 不是一种标准化的编程语言,这个问题无法真正得到回答。但这取决于您的编译器支持什么。我猜主要的 Objective C 编译器(Clang/LLVM、GCC)支持所有长度的类名。要找出答案,您必须查看它们的来源。但由于它们都是用 C++ 编写的,它们可能会使用 std:string 并且因此与长度无关。

我试了一下,并尝试在 Xcode 中使用 clang/llvm 编译一个具有 100.000 个字符的类名的项目,效果非常好。

所以你的缓冲区可能不够大。

于 2013-02-05T10:06:29.300 回答