我的代码是:
[[arrayOne objectAtIndex:indexSelected] replaceObjectAtIndex:1 withObject:new];
NSLog(@"indexSelected:%d", indexSelected); // = 0
NSLog(@"new:%@", new); // = 26
indexSelected
是一个int,new
是一个字符串
当我尝试这样做时,我有一个例外:Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '-[__NSArrayI replaceObjectAtIndex:withObject:]: unrecognized selector sent to instance 0x1cee60'
为什么?
答案 0 :(得分:6)
这是因为NSArray是不可变的。使用NSMutableArray。