2011-07-11 5 views
0

グローバルな整数配列を作成するにはどうすればよいですか?グローバルな整数配列を構築するにはどうすればよいですか?

Iは、次のバリエーションを試みた:

@interface 
int *iArray; //this space will vary depending upon need in the implementation 

@implementation 
... 
int iArrayInit[4] = {1,2,3,4}; 
iArray = iArrayInit; 

-bottomライン:私は簡単にアクセスすることができる配列のインデックス値を保持する必要がある、そして多分[NSArrayのintValue]の使用を遅くなる。

おかげ

答えて

0

それはあなたが実装ファイルに静的としてNSMutableArrayを宣言し、それをアクセスするための静的メソッドを公開することができ、静的にする必要がある場合。 NSArrayを使用する場合、値はidである必要があります。NSNumberが可能です。ここでは、現在スレッドセーフではない例を示します。

//.h file 
@interface Foo : NSObject 
{ 
} 

+(NSArray*)iArray; 
+(void)addiArrayValue:(NSNumber*)value; 

@end 

//.m file 
@implementation Foo 

static NSMutableArray *_iArray; 

+(void)initialize 
{ 
    if([Foo class] == self) 
    { 
     _iArray = [[NSMutableArray alloc] init]; 
    } 
} 

+(NSArray*)iArray 
{ 
    return [[_iArray copy] autorelease]; 
} 

+(void)addiArrayValue:(NSNumber*)value 
{ 
    [_iArray addObject:value]; 
} 

@end 

//Use 
[Foo addiArrayValue:[NSNumber numberWithInt:10]]; 
[Foo addiArrayValue:[NSNumber numberWithInt:12]]; 
NSLog(@"%@", [Foo iArray]); 
関連する問題