本节学习内容:
1.为数组添加对象
2.数组的提取
3.字符串分割
4.数组元素拼接
5.数组遍历
【main.m】
#import
int main(int argc,const char*argv[])
@autorelesasepool{
【1.为数组添加对象】
//数组的添加
NSArray *arrray1=[NSArray arrayWithObjects:@"one",@"two',nil];
NSLog(@"array1=@",array1);
打印结果:array1=(one,two)
//给数组添加一个无素,需求接受该方法的返回值,并不是直接修改原数组对象而是创建一个新的临时数组
array1=[array1 arrayByAddingObject:"three"];
NSLog(@"array1=@",array1);
打印结果:array1=(one,two,three)
//给数组添加多个元素
array1=[array1 arrayByAddingObjectsFromArray:@[@"four",@"five",@"six"]];
NSLog(@"array1=@",array1);
打印结果:array1=(one,two,three,four,five,six)
【2.数组的提取】
//提取数组中指定范围的元素,上标默认从0开始
NSArray *subArray1=[arrary1 subarrayWithRang:NSMakRange(2,3)];
NSLog(@"subArray1=@",subArray1);
打印结果:array1=(three,four,five)
//创建一个可变的下标集合对像
NSMutableIndexSet *indexSet=[NSMutableIndexSet indexSetWithIndex:1];
//创建一个可变集合对象添加元素
[indexSet addIndex:3];
[indexSet addIndex:4];
[NSArray (subArray2=[array1 objectsAtIndexes:];
NSLog(@"subArray2=@",subArray2);
打印结果:subArray2=(two,four,five)
【3.字符串分割】
NSString *str="I am a good boy";
//返回值是一个数组对象,以字符串整体进行分隔
NSArray *array2=[str conponentsSeparateByString:@" "];
NSLog(@"array2=@",array2);
打印结果:subArray2=(I,am,a,"","",good,"",boy)
NSString *str1=@"I :am :good :boy";
NSArray *array3=[str componentsSeparatedByString:@" :"];
NSLog(@"array3=@",array3);
打印结果:subArray3=("I am a good boy")
//以字符集的方式进入分割,以字符集合中的每一个字符作为分割符
NSArray *array4=[str1 componentsSeparatedByCharactersInSet:NSCharacteSet characterSetwithCharactersInString:@":"]];
NSLog(@"array4=@",array3);
打印结果:subArray4=("I ,"",am,"" ,good ,"",boy")
【4.数组元素拼接】
NSArray *array5=@[@"one',@"two",@"five",[NSNumber numberWithInt:123]];
NSString *str3=[array5 componentsJoindyByString:@" "];
//@" "表示连接方式当前是空格
NSLog(@"str3=@",str3);
打印结果:str3=one two five 123
【5.数组遍历】
1.通过数组元素的下标遍历数组
NSArray *sortArray=@[@"hello",@"welcome",@"china",@"world',@"baidu'];
//求出数组元素个数
SNInteger cnt=[sortArray count];
for(NSInteger i=0; i NSLog(@"%@",[sortArray objectAtIndex:i]); 打印结果: hello welcome china world baidu 2.通过枚举器法 //创建一个倒序的枚举器,倒序遍历数组,返回值NSEnumerator对像 NSEnumerator *reverseEnum=[sorArray reverseObjectEnumerator]; id objec=nil; while(obj=[reverseEnum nextObject]){ NSLog(@"obj=%@,obj"); } 打印结果:obj=baidu world china welcome hello //创建一个正序的枚举器 NSEnumerator *enmuerator=[sortArray objectEnumerator]; id obj2=nil; while (obj2=[enumerator nextObjext]){ NSLog(@"obj2=%@",obj2); } 打印结果:obj2= hello welcome china world baidu 3.快速枚举法 //oc语法新引入的循环结构,obj3是否在sortArray中继续循环,能从soortArray中取出元素,判断是否在数组中,在继续循环,不在侧退出循环 for(id obj3 in sortArray){ NSLog(@"obj3=%@",obj3); //打印结果:obj3=hello welcome china world baidu } } return 0; } @end