这就是我声明我的数组的方式:
NSArray *atouts = [[NSArray alloc] arrayWithObjects:@"1",@"2",nil];
但我得到了:
Initializer元素不是常量
那么声明静态数组的最佳方法是什么?
答案 0 :(得分:3)
你想要:
NSArray * atouts = [[NSArray alloc] initWithObjects:@"1", @"2", nil];
或者:
NSArray * atouts = [NSArray arrayWithObjects:@"1", @"2", nil];
编辑然而,真正的问题是您无法像这样初始化静态数组。你必须做类似的事情:
static NSArray * atouts = nil;
//in some method that's invoked early
atouts = [[NSArray alloc] initWithObjects:@"1", @"2", nil];
答案 1 :(得分:0)
你确定你在那条线上得到了那个错误吗?因为错误是关于C数组,AFAIK。
无论如何,你需要使用[[NSArray alloc] initWithObjects:...]或[NSArray arrayWithObjects:...]而不是[[NSArray alloc] arrayWithObjects:...]。请注意,后者是自动释放的。