1.NSMutableArray介绍

  • 什么是NSMutableArray

    • NSMutableArray是NSArray的子类
    • NSArray是不可变的,一旦初始化完毕后,它里面的内容就永远是固定的, 不能删除里面的元素, 也不能再往里面添加元素
    • NSMutableArray是可变的,随时可以往里面添加\更改\删除元素

2.NSMutableArray基本用法

  • 创建空数组
NSMutableArray *arr = [NSMutableArray array];
  • 创建数组,并且指定长度为5,此时也是空数组
NSMutableArray *arr2 = [[NSMutableArray alloc] initWithCapacity:5];
  • 创建一个数组,包含两个元素
NSMutableArray *arr3 = [NSMutableArray arrayWithObjects:@"1",@"2", nil];
  • 调用对象方法创建数组
NSMutableArray *arr4 = [[NSMutableArray alloc] initWithObjects:@"1",@"2", nil];
  • - (void)addObject:(id)object;

    • 添加一个元素
  • - (void)addObjectsFromArray:(NSArray *)array;

    • 添加otherArray的全部元素到当前数组中
  • - (void)insertObject:(id)anObject atIndex:(NSUInteger)index;

    • 在index位置插入一个元素
  • - (void)removeLastObject;

    • 删除最后一个元素
  • - (void)removeAllObjects;

    • 删除所有的元素
  • - (void)removeObjectAtIndex:(NSUInteger)index;

    • 删除index位置的元素
  • - (void)removeObject:(id)object;

    • 删除特定的元素
  • - (void)removeObjectsInRange:(NSRange)range;

    • 删除range范围内的所有元素
  • - (void)replaceObjectAtIndex:(NSUInteger)index withObject:(id)anObject;

    • 用anObject替换index位置对应的元素
  • - (void)exchangeObjectAtIndex:(NSUInteger)idx1 withObjectAtIndex:(NSUInteger)idx2;

    • 交换idx1和idx2位置的元素

3.NSMutableArray 错误用法

  • 不可以使用@[]创建可变数组
NSMutableArray *array = @[@"lnj", @"lmj", @"jjj"];
// 报错, 本质还是不可变数组
[array addObject:@“Peter”];

最新文章

  1. VisualSVNServerTools(在线修改VisualSVN密码)
  2. [Cocos2d-JS] 安卓机器的几个按钮
  3. LFS实践
  4. -_-#setTimeout与setInterval
  5. 一年开发ASP.NET MVC4项目经验总结
  6. Spring MVC的handlermapping之SimpleUrlHandlerMapping初始化
  7. 并发控制--Concurrency control--乐观、悲观及方法
  8. ASP.NET中HttpApplication中ProcessRequest方法中运行的事件顺序;ASP.NET WebForm和MVC总体请求流程图
  9. Android Error:Could not find lottie.jar
  10. 2.启动MySql服务
  11. 同一台电脑使用多个ssh连接git,出现权限不够的问题
  12. 装饰器 python 你也可以叫语法糖
  13. 20155321 《网络攻防》 Exp3 免杀原理与实践
  14. xgboost使用
  15. JS 教程
  16. MySQL查询小数点位数
  17. Linux系统网络安装——基于pxe+dhcp+nfs+tftp+kickstart
  18. 原生js 保存图片到本地
  19. 汇编:模拟C语言实现break与continue
  20. C语言关于指针的注意事项

热门文章

  1. Redisson分布式锁学习总结:可重入锁 RedissonLock#lock 获取锁源码分析
  2. python uwsgi 配置
  3. CSS基础 实战案例 模拟小米官方导航栏
  4. 动静分离、Rewirte、HTTPS
  5. 使用.NET 6开发TodoList应用(24)——实现基于JWT的Identity功能
  6. kibana7.x安装配置操作elasticsearch
  7. 微服务架构 | 3.1 Netflix Eureka 注册中心
  8. 达索CATIA许可证(License)管理使用和优化
  9. RichTextBox单独设置文字颜色
  10. JSP页面打印输出,两种方法。out、《%=