这是导致上述警告的代码:
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,但没有发现任何适用的内容。)
答案 0 :(得分:4)
您是否尝试创建NSMutableArray或NSArray?您已将变量声明为类型NSMutableArray*
,但右侧的表达式创建了一个NSArray。如果您希望此数组是可变的,请将arrayWithObjects:
的接收方更改为NSMutableArray;如果没有,请更改声明以将其正确识别为NSArray而不是NSMutableArray。
答案 1 :(得分:1)
您无法将NSArray强制转换为NSMutableArray。只需将其初始化为NSMutableArray
即可NSMutableArray *tbValueArray = [NSMutableArray arrayWithObjects: ... ]
或者,如果您实际上不需要NSMutableArray,请将您的变量类型更改为NSArray *
NSArray *tbValueArray = [NSArray arrayWithObjects: ... ]
答案 2 :(得分:0)
替换
NSMutableArray *tbValueArray = [NSArray arrayWithObjects:...];
通过
NSArray *tbValueArray = [NSArray arrayWithObjects:...];