NSMutableArray可拓展的数组

NSArray是不可变的数组集合,而在平时开发中,这个满足不了需求,所以在OC中还有对应的可变的NSArray,顾名思义,可变即可增删改查。
关键字:NSMutableArray

  • NSMutableArray的创建
  • NSMutableArray元素添加
  • NSMutableArray数据移除
  • NSMutableArray元素值替换
  • NSMutableArray数据遍历
  • NSMutableArray数据排序
  • NSMutableArray数据写入写出

NSMutableArray的创建

  • arrayWithObject;
  • arrayWithObjects;
    这个三个都可以创建一个NSMutableArray并且初始化赋值。
    NSMutableArray可拓展的数组_第1张图片
    观看以上事例代码很容易看出和NSArray创建是一样的,只不过是类名不一样。

NSMutableArray元素添加

  • addObject(id)添加单个数据元;
  • addObjectsFromArray(array’)批量添加,把其他的array数据添加进来;
  • insertObject id atIndex index插入一个值,在下标为index的地方;
  • insertObjects:ns_array atIndexes:indexs批量插入数据在某个范围;
    NSMutableArray可拓展的数组_第2张图片

NSMutableArray数据移除

  • removeObject :id根据数据对象移除;
  • removeObjectAtIndex :index根据下标移除数据;
  • removeObject:id inRange:array_range在某个范围里面移除某个元素;
  • removeObjectsAtIndexes:removeObjectsAtIndexes,批量移除数据根据下标合集;
    NSMutableArray可拓展的数组_第3张图片

NSMutableArray元素值替换

  • replaceObjectAtIndex:index withObject:id
    根据下标来替换数据,index下标,id值
  • replaceObjectsAtIndexes:set withObjects:ars
    根据下标集合批量替换值,set–》NSIndexSet(下标集合),ars–》NSArray(替换的值);
    NSMutableArray可拓展的数组_第4张图片

NSMutableArray数据遍历

  • 普通for循环
  • foreach循环
  • block代码块遍历
    NSMutableArray可拓展的数组_第5张图片

NSMutableArray数据数据排序

  • sortUsingSelector:@selector(compare:) 排序和NSArray一样的
    NSMutableArray可拓展的数组_第6张图片
    这里的排序和NSArray通用的,可以自定义筛选器selector,具体看上一张NSArray;

NSMutableArray数据写入写出

  • writeToFile:path atomically:YES 把数组数组写出去,path文件路径,YES是否遵守原子性;
  • arrayWithContentsOfFile:path 把文件中的数据读入数组中,path文件路径;
    NSMutableArray可拓展的数组_第7张图片

总结:
其实NSMutableArray用法和NSArray差不多,只不过多了移除和添加替换值的一些操作方法,也和java中的List比较相似。在这其实很明显,NSString有相对应的NSMutableString,NSArray有相对应的NSMutableArray,这样比较好记,对比下就能知道了。

你可能感兴趣的:(Object-C)