3

のクラス名の最大長はobjective-c? xcode doc-sets でヒントを見つけることができず、Google も役に立ちませんでした。

私は現在、いくつかのランタイム ヘルパーを作成しています。型エンコーディング用の文字バッファーが十分に大きいかどうかを知りたいです。

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 に答える