NSArray 和 NSMutableArray 的底层结构应该是差不多的。区别从名字就可以看到,NSArray 不可变,而 NSMutableArray 可变。NSArray 因为不可变,实现起来会更简单些
不可变结构附带有如下好处:
功能单一,实现起来会更简单。
没有修改的数据的接口,就从根源防止了数据无意中被修改。
因为不会被修改,更容易被缓存复用。
因为不可变,只读,多线程访问的时候,也不会发生一边读一边写的情况,也就没有同步的问题,也就不用上锁。
替换可以用- (void)replaceObjectAtIndex:(NSUInteger)index withObject:(id)anObject