-5

这是导致上述警告的我的代码:

    NSMutableArray *tbValueArray = [NSArray arrayWithObjects:oServices1.text,
                oServices2.text,oServices3.text,oServices4.text,oServices5.text,oServices6.text,
                oServices7.text,oServices8.text,oServices9.text,oServices10.text,oServices11.text,
                oServices12.text,oServices13.text,oServices14.text,oServices15.text,oServices16.text,
                oServices17.text,oServices18.text,oServices19.text,oServices20.text,oServices21.text,
                oServices22.text,oServices23.text,oServices24.text,nil];

如何更改它以删除警告?(我查看了 Google 和 SO 并没有发现任何适用的内容)。

4

3 回答 3

4

您是在尝试创建 NSMutableArray 还是 NSArray?您已将变量声明为 type NSMutableArray*,但右侧的表达式创建了一个 NSArray。如果你希望这个数组是可变的,将接收者更改arrayWithObjects:为 NSMutableArray;如果不是,请更改声明以正确地将其标识为 NSArray 而不是 NSMutableArray。

于 2013-09-30T18:41:34.803 回答
2

您不能将 NSArray 转换为 NSMutableArray。只需将其初始化为 NSMutableArray

NSMutableArray *tbValueArray = [NSMutableArray arrayWithObjects: ... ]

或者,如果您实际上不需要 NSMutableArray,请将变量类型更改为 NSArray*

NSArray *tbValueArray = [NSArray arrayWithObjects: ... ]
于 2013-09-30T18:42:05.550 回答
0

代替

NSMutableArray *tbValueArray = [NSArray arrayWithObjects:...];

经过

NSArray *tbValueArray = [NSArray arrayWithObjects:...];
于 2013-09-30T18:42:21.330 回答