用空字符串替换数组对象时出错

时间:2012-03-22 09:13:17

标签: iphone ios

NSMutableArray中的两个在索引0处具有相同值时,我想要删除该对象并用空字符串替换对象,从而得到不可预测的错误。但应用程序崩溃说

 -[__NSArrayI replaceObjectAtIndex:withObject:]: unrecognized selector sent to instance 0xe2a06b0
  2012-03-22 14:36:48.181 golf eScorer[3849:11f03] *** Terminating app due to uncaught exception  
  'NSInvalidArgumentException', reason: '-[__NSArrayI replaceObjectAtIndex:withObject:]: 
   unrecognized selector sent to instance 0xe2a06b0'  

当我使用断点进行调试而不是日志显示时

2012-03-22 14:36:44.548 golf eScorer[3849:11f03] ArrayOfGameidOfPlayerToRemove....(
2
)
2012-03-22 14:36:44.549 golf eScorer[3849:11f03] discardedId...(
2
)

这是我的代码行:

 if([[ArrayOfGameidOfPlayerToRemove objectAtIndex:0] isEqualToString:[discardedId 
    objectAtIndex:0]])
        {
            [ArrayOfGameidOfPlayerToRemove replaceObjectAtIndex:0 withObject:emptyString];
        }

更新

我这样解决了

   NSMutableArray *ArrayOfGameidOfPlayerToRemove = [yournsarray mutableCopy];

2 个答案:

答案 0 :(得分:0)

'__ NSArrayI' - 你在这里有一个不可变的数组。

值得检查你的ArrayOfGameidOfPlayerToRemove arrray的实现 - 确保你已经初学NSMutableArray而不是NSArray

答案 1 :(得分:0)

变量ArrayOfGameidOfPlayerToRemove似乎是NSArray的实例。您只能在NSMutableArray

中替换对象