ヘッダーとクラスの実装の外側に、静的クラス変数を作成できます。
次に例を示します。
// MyClass.h
@interface MyClass : NSObject
+ (void)setClassArray:(NSArray *)array;
+ (NSArray *)classArray;
@end
// MyClass.m
#import "MyClass.h"
static NSArray *_myClassArray;
@implementation MyClass
+ (NSArray *)classArray
{
return _myClassArray;
}
+ (void)setClassArray:(NSArray *)array
{
if (_myClassArray != array)
{
_myClassArray = array;
}
}
@end
したがって、次のようにクラス配列の値を設定します。
[MyClass setClassArray:[NSArray arrayWithObject:@"Some_Objects"]];
クラスのインスタンス内では、次のようにアクセスできます。
- (void)myInstanceMethod
{
// setting to another ivar is optional and only shown for clarity
NSArray *array = _myClassArray;
// ... do whatever you want to do with it here...
}