博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
【Objective-C】OC中的数值的概念和常用方法(NSArray和NSMutableArray)
阅读量:7106 次
发布时间:2019-06-28

本文共 2939 字,大约阅读时间需要 9 分钟。

1:数组的基本概念

  Foundation中的数组(NSArray,NSMutableArray)是一组有序的对象集合,通过索引下标获取到数组中的

各个元素.与字符串相同,数组也是可变和不可变数组之分.此外,数组中不可以存放基本数组类型,只能存放类的

实例(对象).如若需要将基本数据类型,结构体放入数组中,需要通过NSNumber,NSValue进行数据的“封装”

2:不可变数组-NSArray

  一:数组的初始化

     // 不可变数组的初始化

NSArray *firstArray=[NSArray arrayWithObject:@"abc"];         //  多个元素初始化时,注意以nil作为数组的结束         NSArray *secondArray=[NSArray arrayWithObjects:@"one","two", nil];         NSArray *thirdArray=[NSArray arrayWithArray:secondArray];         NSArray *fourArray=[NSArray arrayWithContentsOfFile:@"/apple/user/array.txt"];
二:获取数组中的元素个数和访问
 
//获取数组中的元素个数和访问         int count=[secondArray count];         NSLog(@"secondArray all element %ld",count);         NSString *string1=[secondArray objectAtIndex:1];         NSLog(@"secondArray of element 1 is %@",string1);
三:在原来的数组对象的基础上面,追加对象返回新的数组
 
//追加数组的内容         NSArray *array5=[secondArray arrayByAddingObject:@"end"];         NSLog(@"array5 is %@",array5);
四:用指定的字符把数据用字符串形式显示出来
 
// 数组——>字符串         NSString *string2=[array5 componentsJoinedByString:@","];         NSLog(@"%@",string2);
五:
查询数组中是否包含指定的对象
//判断数组中是否存在指定的对象
Boolean result=[array5 containsObject:@"two"];         if(result){
NSLog(@"存在指定的two"); }else{
NSLog(@"不存在"); }
六:
根据指定的对象返回索引下标
,
返回数组中最后的一个元素
//根据指定的对象返回索引下标,返回数组中最后的一个元素
NSInteger *index=[array5 indexOfObject:@"two"];         NSLog(@"index:%ld",index);         NSString *string3 =[array5 lastObject];         NSLog(@"%@",string3);
3
:可变数组的常用方法(
NSMutableArray
)
一:初始化 设定元素个数为5,但可以更改,追加数值对象
 
// 初始化,指定数组的个数为5,但是可以更改的         NSMutableArray *mutableArrray1=[NSMutableArray array];//空的数组         NSMutableArray *mutableArrray2=[NSMutableArray arrayWithCapacity:5];         NSMutableArray *mutableArrray3=[NSMutableArray arrayWithObjects:@"one",@"two", nil];         NSLog(@"%@",mutableArrray3);         [mutableArrray3 addObject:@"three"];         NSLog(@"%@",mutableArrray3);
二:向数组中指定下标插入元素
 
//向数组中指定下标插入元素         [mutableArrray3 insertObject:@"ccc" atIndex:2];         NSLog(@"%@",mutableArrray3);
三:移除指定元素,移除最后一个元素,移除指定下标的元素
 
//移除最后一个元素         [mutableArrray3 removeLastObject];         NSLog(@"%@",mutableArrray3);         //移除指定元素         [mutableArrray3 removeObject:@"one"];         //移除指定下标的元素         [mutableArrray3 removeObjectAtIndex:0];         NSLog(@"%@",mutableArrray3);
四:向数组中添加数组
//向数种添加数组
NSMutableArray *mutableArray4=[NSMutableArray arrayWithObjects:@"four",@"five", nil];         [mutableArrray3 addObjectsFromArray:mutableArray4];         NSLog(@"%@",mutableArrray3);
五:数组中的对象替换
//数组中的对象替换
[mutableArrray3 replaceObjectAtIndex:1 withObject:@"4"];         NSLog(@"%@",mutableArrray3);
3:数组的遍历
一:常规遍历
NSArray *array6=[NSMutableArray arrayWithObjects:@"x",@"y",@"z", nil];
NSInteger size=[array6 count];         for (NSInteger i=0;i
二:高效遍历
//高效遍历
for (NSString *str in array6) {
NSLog(@"%@",str); }

转载于:https://blog.51cto.com/2939716/1376382

你可能感兴趣的文章
Linux中最大进程数和最大文件数
查看>>
Java中字符数组、String类、StringBuffer三者的相互转换
查看>>
20165302第六周学习总结
查看>>
本人常用资源整理(ing...)
查看>>
说说IEnumerable和yield
查看>>
阿里云centos+java环境搭建
查看>>
关于jquery的each
查看>>
项目17-超详细“零”基础kafka入门篇
查看>>
nginx配置文件
查看>>
mysql_innodb引擎
查看>>
在 Android Studio 上调试数据库 ( SQLite )
查看>>
UItableview全部属性、方法以及代理方法执行顺序
查看>>
图片文字css小知识点
查看>>
安卓 消息队列 优先级 顺序
查看>>
微软 Share Point “.NET研究”2010 企业应用解决方案
查看>>
微软下周将发布10个安全补丁 严重漏洞超过半数
查看>>
Microsoft NLayerApp“.NET研究”案例理论与实践 - 项目简介与环境搭建
查看>>
信息周刊:微软视窗系统为何倍受病毒欢迎?
查看>>
Infinispan's GridFileSystem--基于内存的网格文件系统,互联网营销
查看>>
一起谈.NET技术,NET下RabbitMQ实践 [示例篇]
查看>>