static NSMutableArray *words[10]= {@"word",@"word",@"word",@"word",@"word",@"word",@"word",@"word",nil};
发出警告: "不兼容的指针类型初始化' NSMutableArray *'表达类型为' NSString *'
我该如何规避这个问题?
答案 0 :(得分:0)
即使没有静态
,您的代码也无法编译1.Remove [10]
2.Change' {...}'到' @ [...]'
3.删除nil
你应该收到
NSMutableArray *words= @[@"word",@"word",@"word",@"word",@"word",@"word",@"word",@"word"];
但是words
将是一个NSArray,而不是NSMutableArray,因为它是用NSArray对象初始化的。如果你试图宣布它是静态的'您将收到编译器错误
initializer元素不是编译时常量
因为只有编译时常量可以声明为static
。无法在编译时创建NSMutableArray。
如果你需要静态数组,你应该使用C风格的数组
static NSString *words[] = {@"word",@"word",@"word",@"word",@"word",@"word",@"word",@"word"};