1

Objective-C で列挙型を管理する方法について、ヘルプまたはガイダンス/ベスト プラクティスが必要です。私は、次のような列挙型を明示的に呼び出すことができる C++/C# の土地から来ています。

mycharacter.type = EnumType.enumValue;

列挙型を呼び出してから列挙値を呼び出すので、競合はありません。Obj-C では、列挙型は typedef として作成されるため、それらはすべて一意の番号でインデックス付けする必要があります。そうしないと、実行時に問題が発生します。最初は、それぞれのクラスで開始値なしで列挙型を作成していたため、最初はすべての列挙型がゼロでした。Cocos2D/Box2D での簡単な衝突検出のトラブルシューティングに 2 ~ 3 時間費やしましたが、その後、enum が一意の値を持たないことが原因であることが判明したため、衝突が適切に発生していませんでした。

C#/C++ のように列挙型を呼び出す方法がある場合はお知らせください。そうでない場合は、ナレッジベースまたはベスト プラクティス ドキュメントを教えてください。私は C 開発者ではないからです。

お知らせ下さい。

4

2 に答える 2

0

それらは C 列挙型です。それらはオブジェクトではありません。これらは、軽量の名前付きオプション引数とビット フィールド マスク オプション、および C スイッチケース条件でうまく機能します。Objective-C では、このように使用されていることがわかります。それらは const 整数の単なる typedef であるため、衝突はないはずです。Xcode でそれらを効果的に使用するには、列挙型とメンバーに意味のあるプレフィックスと名前を付けてください。これにより、便利なコード補完が得られます。

また、便利なマクロ NS_ENUM および NS_OPTION も参照してください。

于 2013-05-22T07:04:57.693 に答える