》OC中数组
OC数组是有序的对象的集合,用于存储对象的有序列表。区别于C语言数组,OC中的所有元素都是一个对象(必须是对象),且数组成员的数据类型不需要一致。OC数组有两种:不可变数组NSArray和可变数组 NSMutableArray,可变数组是不可变数组的子类。
》不可变数组NSArray
1、初始化方法
NSArray *array =[[NSArray alloc]init];
//创建一个有一个元素的不可变数组
NSArray *array3=[NSArray arrayWithObject:@”nick”];
// 创建有多个元素的不可变数组,nil是数组的结束标志,不可在数组中间插入nil
NSArray *array4=[NSArray arrayWithObjects:@”1”,@”2”,@”3”, nil];
//快捷方式
NSArray *array5=@[@”leo”];
//通过数组创建另一个数组
NSArray *array6=@[@”2”,@”3”];
NSArray *array7=[NSArray arrayWithArray:array6];
2、数组操作
//从本地读取一个文件
NSArray *array8=[NSArray arrayWithContentsOfFile:@”“]; //从网络读取文件,(先创建一个URL对象)
NSURL *url=[NSURL URLWithString:@”www.hqu.com”];
NSArray *array9=[NSArray arrayWithContentsOfURL:url];
//求数组中元素个数
NSInteger count =array6.count;
NSLog(@”%ld”,count);
//访问数组中的第一个元素,
NSString *str1=[array6 objectAtIndex:0];
NSLog(@”第一个元素=%@”,str1);
for (int i=0; i
》可变数组
//可变数组初始化
//是nsarray的子类
NSMutableArray *array=[[NSMutableArray alloc]init];
//初始化有一个元素、多个元素的数组
NSMutableArray *array1=[NSMutableArray arrayWithObject:@”1”];
NSMutableArray *array2=[NSMutableArray arrayWithObjects:@”1”,@”2”,@”3”, nil];
//根据一个数组创建一个新的数组
NSMutableArray *array3=[NSMutableArray arrayWithArray:array2];
//可变数组区别于不可变数组的初始化方法,
NSMutableArray *array4=[NSMutableArray arrayWithCapacity:10];
//读取本地文件
NSMutableArray *array5=[NSMutableArray arrayWithContentsOfFile:@”“];
//读取URL
NSURL *url=[NSURL URLWithString:@”www.hqu.com”];
NSMutableArray *array6=[NSMutableArray arrayWithContentsOfURL:url];
//在数组末尾增加元素
[array2 addObject:@”4”];
//NSLog(@”%@”,array2);
//在指定位置插入元素,直接插入到下标位置
[array2 insertObject:@”5” atIndex:2];
//将目标位置元素替换成新内容
[array2 replaceObjectAtIndex:2 withObject:@”rack”];
//NSLog(@”%@”,array2);
//数组内元素位置互换
[array2 exchangeObjectAtIndex:2 withObjectAtIndex:1];
//NSLog(@”%@”,array2);
//删除数组内元素
[array2 removeObject:@”1”];
//删除指定位置上的元素
[array2 removeObjectAtIndex:0];
NSLog(@”%@”,array2);
//删除数组中最后一个元素
[array2 removeLastObject];
//NSLog(@”%@”,array2);
//删除所有元素
[array2 removeAllObjects];
//NSLog(@”%@”,array2);
NSMutableArray *array7=[NSMutableArray arrayWithObjects:@”11”,@”22”,@”33”,@”$$”, nil];
for (int i=0; i