如何构建像整数数组一样的全局?
我尝试了以下各种变体:
@interface
int *iArray; //this space will vary depending upon need in the implementation
@implementation
...
int iArrayInit[4] = {1,2,3,4};
iArray = iArrayInit;
-bottom line:我需要将索引值保存在我可以轻松访问的数组中,并且[NSArray intValue]的使用可能会减慢。
感谢
答案 0 :(得分: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]);
。这是一个当前不是线程安全的例子。
{{1}}