1.NSArray/NSMutableArray用法总结
2016-05-16 15:45
381 查看
NSArray用法总结
初始化与赋值
截取和处理数组
文件读写
数组判断
数组遍历
NSMutableArray用法总结
截取和处理可变数组
可变数组遍历
初始化与赋值
截取和处理数组
文件读写
数组判断
数组遍历
NSMutableArray用法总结
截取和处理可变数组
可变数组遍历
NSArray用法总结
初始化与赋值
//初始化 NSArray *arr = [[NSArray alloc] init]; //初始化 NSArrya *arr = @[@1, @2, @3]; //空数组 NSArray *arr = [NSArray array]; //具有多个元素的数组(以nil结束) NSArray *arr = [[NSArray alloc] arrayWithObject: @"1", @"2", @"3",nil]; //用另一个数组进行初始化 NSArray *arr = [NSArray alloc] arryWithArray: arr2];
截取和处理数组
//获取数组个数 NSLog(@"数组具有的元素个数为: %ld", arr.count); //获取最前/最后面元素 [arr firstObject]; [arr lastObject]; //访问索引对象 NSString *str = [arr objectAtIndex: x]); //查看对象索引位置 NSLog(@"元素的下标为: %ld ", [arr indexOfObject: @"对象"]); //追加数组元素(返回新数组) NSArray *arr2 = [arr1 arrayByAddingObject: @"元素"]; //返回两数组相同的第一个元素 NSLog(@"%@ ", [arr firstObjectCommonWithArr: arr2]); //根据指定字符串来连接数组元素(返回字符串) NSString *str = [arr componentsJoinedByString: @"指定字符串"]; //根据指定字符串来拆分数组元素(返回数组) NSArray *arr = [str componentsSeparatedByString: @"指定字符串"];
文件读写
//写入到到文件中(返回BOOL类型) //atomically为YES: 存入临时文件,成功写入目标文件再从临时文件中写入 //atomically为NO:直接写入到目标文件 [arr writeToFile: @"path" atomically: YES/NO]; //读取文件中的数组信息 NSArray *arr [NSArray arrayWithContentsOfFile: @"path"];
数组判断
//查看是否包含元素 BOOL tmp = [arr containObject: @"元素"]; //比较内容是否相同 BOOL tmp = [arr1 isEqualToArray: arr2];
数组遍历
//(1)for循环 for(int i=0; i<[arr.count]; i++) { NSLog(@"%ld ", [arr objectAtindex: i]); } //(2)快速枚举 for(id obj in arr) { NSLog(@"%@ ", obj); } //(3)迭代器 NSEnumerator *enumerator = [arr objectEnumerator]; id obj = nil; while(obj = [enumerator nextObject]){ NSLog(@"obj = %@", obj); } //(4)Block块 //obj:数组元素。index:元素下标。stop:YES为停止,NO为继续 [arr enumeratorObjectsUsingBlock: ^(id obj, NSUInteger index, BOOL *stop){ if(indx == x){ //运行到X元素标停止运行 *stop = YES; } else{ NSLog(@"indx = %ld, obj = %@" ,indx, obj); } }];
NSMutableArray用法总结
//初始化并且为mArr分配X个容量 NSMutableArray *mArr = [[NSMutableArray alloc] initWithCapacity: x];
截取和处理可变数组
//往尾部添加元素 [mArr addObject: @"字符串"]; //插入元素(往x索引的位置插入元素) [mArr insertObject: @"字符串" atIndex: x]; //指定索引替换对象 [mArr replaceObjectAtIndex: x withObject: @"替换的字符串"]; //删除指定元素 [mArr removeObject: @"字符串"]; //删除指定下标元素 [mArr removeObjectAtIndex: x]; //删除指定数组中的内容 [mArr removeObjectsInArray: arr]; //删除全部对象 [mArr removeAllObjects]; //添加数组 [mArr addObjectsFromArray: arr]; //复制array的元素 NSMutableArray *mArr = [NSMutableArray alloc] init]; NSArray *arr = [NSArray arrayWithObjects: @"a", @"b",nil]; id obj; for(int i=0; i<arr.count; i++) { obj = [arr objectAtIndex: i] copy]; [mArr addObject: obj]; }
可变数组遍历
//遍历方法可以用普通数组中的快速枚举方法以及for循环 //从前向后 NSEnumerator *enumerator = [mArr objectEnumerator]; while (id obj = [enumerator nextObject]){ NSLog(@"obj: %@ ", obj); } //从后往前 NSEnumerator *enumerator = [mArr reverseObjectEnumerator]; while (id obj = [enumerator nextObject]) { NSLog(@"obj: %@ ",obj); }
相关文章推荐
- 为Spring MVC开启异步任务
- mac中切换隐藏文件的显示
- Spring Integration概述
- iTOP-4412嵌入式开发板ioremap控制GPIO寄存器
- 日志文件 的管理 logrotate 配置
- 映射文件
- JavaScript实现页面跳转的方式汇总
- SHELL 编程之语法基础
- android dex文件超出限制个数分包方案
- 使用Gson解析Json的一条数据和一组数据
- 友盟自动更新技术解决方案(安卓版)
- php学习网站
- Error:Execution failed for task ':app:transformClassesWithDexForDebug'.
- ccpc 2016 省赛
- swift-UILabel
- vs中web配置可浏览json数据文件
- teiid入门
- 每天一个linux命令(15):tail 命令
- jQuery Ajax 实例 ($.ajax、$.post、$.get)
- 关于安卓调试桥adb.exe被金山wps软件导致冲突问题。