12

.m次のように、いくつかの異なるクラスのファイルで同じ名前の定数を宣言しました。

@implementation MyViewController
const NSInteger numberOfItems = 6;
...
@end

しかし、プロジェクトをビルドしようとすると、「シンボルが重複しています」というエラーが表示されます。extern またはグローバル定数に関するこの問題を扱っているいくつかの投稿を見つけましたが、私が望むのは、いくつかの定数をそのクラスに対してプライベートに宣言することだけです。どうすればそれを行うことができますか?

ありがとう

4

1 に答える 1

32

定数を 1 つの.mファイルでのみ使用する場合は、次のように宣言しますstatic。例: static NSString * const CONSTANT_STRING = @"Constant I am".

すべてのファイルNSIntegerに書き込むことができる場合:.m

static const NSInteger my_const = 3;

グローバル (すべてのファイルで 1 つの値が表示される 1 つの定数) が必要な場合は、次のように記述します.h

extern const NSInteger my_global_const;

.mファイルに追加できます

const NSInteger my_global_const = 5;
于 2013-06-17T10:24:48.320 に答える