0

我有看起来像这样的java代码:

for(int i=0;i<codeWord.length;i++) {
  codeWord[i] = cw_bArray;
}

这里的代码字是 NSDATA & cw_barray 是 NSMutableArray 并且在Objective c我正在做

for(int i=0;i<codeword.length;i++) {
  [codeword objectAtIndex:i] =[cw_bArray mutableCopy];
}  

但它会弹出一个像这样的错误
分配给'readonly'返回一个objective-c消息的结果是不允许的

4

2 回答 2

1
[codeword insertObject:[cw_bArray mutableCopy] atIndex:i];

应该为您解决问题。

基本上objectAtIndex返回一个不能分配给另一个对象的只读副本。您需要做的是用新对象替换该索引处的整个对象。

于 2012-07-12T07:17:59.390 回答
1

如果您正在寻找将对象添加到数组中,Praven S 解决方案可以正常工作。java 代码看起来更像是用新对象替换数组中的对象。为了实现这一点,您应该使用: [codeword replaceObjectAtIndex:i withObject:[cw_bArray mutableCopy]];

就像他说的,objectAtIndex是一个getter方法。因此,您不能为方法结果分配值。这没有任何意义。基本上你写的是给我数组的 i 对象,但你知道吗?假设这个对象是另一个对象。

于 2012-07-12T08:43:37.817 回答