OC视频3.8,3.9(集合对象之数组的常用方法)3.10(数组的遍历)

0C数组常用方法

数组的基本概念:

Foundation中的数组(NSArray和NSMutableArray)是一组有序的对象集合,通过索引下标获取到获取到数组中的各个元素。与字符串相同,数组也有可变和不可变之分。此外,数组里面不能存放基本数据类型,只能存放类的实例(对象)。如若需要将基本数据类型、结构体,放进数组中,需要通过NSNumber、NSValue进行数据的“封装”。同时不能再NSArray中存储nil(对象的零值或NULL值)。



1数组的创建:

1.1直接创建数组对象

【【NSArray alloc】 initWithObject:s1,s2,s3,nil】;传入的必须是对象,nil表示传入结束。传完之后赋给一个变量。打印的时候也用%@格式。

1.2使用类方法创建:

【NSArray arrayWithObject:s1,s2,s3,nil】;

1.3只存一个对象到数组里面

【NSArray arrayWithObject:s1】;

1.4将array1里面的元素拿出来,存入到array2里面去(注意array1里面的元素不会变)

【array2 arrayWithArray:array1】;

1.5Xcode4.4以后对编译器语法做了一个优化

创建数组可以更简单:NSArray *array = @【str1,str2,str3】;(str1,str2,str3都是对象)


2通过下标取元素:

2.1【array objectAtIndex:数字】;返回的类型赋值给该类型变量

2.2Xcode4.4以后对编译器语法做了一个优化

取下标元素可以直接这样:NSString * str = array【0】;(我假设返回的对象时字符串类型了)


3获取数组元素个数:

【array count】;

array.count;

返回的是一个NSUInteger类型值,NSU是没有符号的对象,返回的数组元素个数不可能带符号,例如负号。


4判断数组中是否包含一个对象

【array containsObject:(id)】;返回的是布尔类型


5查找数组中的某以元素所在数组中的下标位置

【array indexOfObject:(id)】;

如果找到就返回一个一个NSUInteger的值。

如果没有找到返回的就是NSNotFound。

找到和没找到都是NSUInteger对象,例:NSUInteger  inte = 【array indexOfObject:@“张三”】;


6连接数组中的字符串(注意:数组中的元素必须都是字符串在可以连接)

【array componentsJoinedByString:@“,”】后面的@“,”表示用“,”将这些字符串连接起来。返回值同样是字符串。


7访问数组中的最后一个元素

【array lastObject】;

这个通用是get方法模式,可以用点语法调用

NSArray *array1 = array.lastObject;


8在原来的数组后面追加一个元素

【array arrayByAddingObject:(id)】;NSArray不可变,所以返回一个新的数组。


/*

数组需要注意的地方:

1.数组中不能存基本数据类型,只能存类的实例(对象)

2.数组越界(下标别整过头了),如果不清楚数组里面有多少个元素的话可以先得到数组的个数(用【array count】),然后做判断让所取下标小于数组元素个数就可以了。

*/



数组的遍历:

数组里面最好要存同一种类型的对象,遍历的时候也好得到每一个对象。

首先要知道数组的长度,用循环遍历


普通遍历

for(int i = 0;i<[array count];i++){

       NSString *str = [array objectAtIndex:i];

       NSLog(@"%@",str);

}

本遍历方法可以在循环里面使用下标。


快速遍历

for(NSString *str  in array){

       NSLog(@"%@",str);

}

本遍历方法不可以在循环里面使用下标。


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值