陈斌彬的技术博客

Stay foolish,stay hungry

NSArray

与 NSString 类似,NSArray 是不可变的。一旦创建了一个 NSArray 的实例,将无法改变数组。您可以修改数组元素的内容,但是不能修改数组本身,如增加条目、删除条目、排序等。因此,当确信不需要修改数组时,应该使用 NSArray 类。

NSMutableArray 是 NSArray 的一个子类,因此您可以在任何使用 NSArray 的位置使用 NSMutableArray。

除了包含在 NSArray 中的方法,NSMutableArray 还提供了修改数组的方法。其中包括:

addObject:insertObject:atIndex: 用于向数组添加对象

removeAllObjects、removeLastObject 和 removeObjectAtIndex: 用于从数组删除对象

replaceObjectAtIndex:withObject:用于替换数组中的某个对象

filterUsingPredicate:用于筛选数组

exchangeObjectAtIndex:withObjectAtIndex:、sortUsingComparator:和sortUsingFunction: context:用于重新排列数组中的元素

有一件事情必须记住的是:数组类 NSArray 和 NSMutableArray 仅能包含对象。因此,不能将 C 的标量数据类型,如 int、long 或者其他任何不是继承自 NSObject 的类型插入 NSArray 或 NSMutableArray。