本節(jié)學(xué)習(xí)內(nèi)容:
1.為數(shù)組添加對象
2.數(shù)組的提取
3.字符串分割
4.數(shù)組元素拼接
5.數(shù)組遍歷
【main.m】
#import<Foundation/Foundation.h>
int main(int argc,const char*argv[])
@autorelesasepool{
【1.為數(shù)組添加對象】
//數(shù)組的添加
NSArray *arrray1=[NSArray arrayWithObjects:@"one",@"two',nil];
NSLog(@"array1=@",array1);
打印結(jié)果:array1=(one,two)
//給數(shù)組添加一個無素撕攒,需求接受該方法的返回值酸些,并不是直接修改原數(shù)組對象而是創(chuàng)建一個新的臨時數(shù)組
array1=[array1 arrayByAddingObject:"three"];
NSLog(@"array1=@"版姑,array1);
打印結(jié)果:array1=(one,two,three)
//給數(shù)組添加多個元素
array1=[array1 arrayByAddingObjectsFromArray:@[@"four",@"five",@"six"]];
NSLog(@"array1=@"锥余,array1);
打印結(jié)果:array1=(one,two,three,four,five,six)
【2.數(shù)組的提取】
//提取數(shù)組中指定范圍的元素,上標(biāo)默認(rèn)從0開始
NSArray *subArray1=[arrary1 subarrayWithRang:NSMakRange(2,3)];
NSLog(@"subArray1=@",subArray1);
打印結(jié)果:array1=(three,four,five)
//創(chuàng)建一個可變的下標(biāo)集合對像
NSMutableIndexSet *indexSet=[NSMutableIndexSet indexSetWithIndex:1];
//創(chuàng)建一個可變集合對象添加元素
[indexSet addIndex:3];
[indexSet addIndex:4];
[NSArray (subArray2=[array1 objectsAtIndexes:];
NSLog(@"subArray2=@",subArray2);
打印結(jié)果:subArray2=(two,four,five)
【3.字符串分割】
NSString *str="I am a ? good ?boy";
//返回值是一個數(shù)組對象剃袍,以字符串整體進(jìn)行分隔
NSArray *array2=[str conponentsSeparateByString:@" "];
NSLog(@"array2=@",array2);
打印結(jié)果:subArray2=(I,am,a,"","",good,"",boy)
NSString *str1=@"I :am :good :boy";
NSArray *array3=[str componentsSeparatedByString:@" :"];
NSLog(@"array3=@"车海,array3);
打印結(jié)果:subArray3=("I am a good boy")
//以字符集的方式進(jìn)入分割,以字符集合中的每一個字符作為分割符
NSArray *array4=[str1 componentsSeparatedByCharactersInSet:NSCharacteSet characterSetwithCharactersInString:@":"]];
NSLog(@"array4=@"笛园,array3);
打印結(jié)果:subArray4=("I ,"",am,"" ,good ,"",boy")
【4.數(shù)組元素拼接】
NSArray *array5=@[@"one',@"two",@"five",[NSNumber numberWithInt:123]];
NSString *str3=[array5 componentsJoindyByString:@" "];
//@" "表示連接方式當(dāng)前是空格
NSLog(@"str3=@",str3);
打印結(jié)果:str3=one two five 123
【5.數(shù)組遍歷】
1.通過數(shù)組元素的下標(biāo)遍歷數(shù)組
NSArray *sortArray=@[@"hello",@"welcome",@"china",@"world',@"baidu'];
//求出數(shù)組元素個數(shù)
SNInteger cnt=[sortArray count];
for(NSInteger i=0; i<cnt;i++){
NSLog(@"%@",[sortArray objectAtIndex:i]);
打印結(jié)果: hello ?welcome ?china ?world baidu
2.通過枚舉器法
//創(chuàng)建一個倒序的枚舉器侍芝,倒序遍歷數(shù)組,返回值NSEnumerator對像
NSEnumerator *reverseEnum=[sorArray reverseObjectEnumerator];
id objec=nil;
while(obj=[reverseEnum nextObject]){
NSLog(@"obj=%@,obj");
}
打印結(jié)果:obj=baidu ?world ?china welcome hello
//創(chuàng)建一個正序的枚舉器
NSEnumerator *enmuerator=[sortArray objectEnumerator];
id obj2=nil;
while (obj2=[enumerator nextObjext]){
NSLog(@"obj2=%@",obj2);
}
打印結(jié)果:obj2= hello welcome china world baidu
3.快速枚舉法
//oc語法新引入的循環(huán)結(jié)構(gòu)埋同,obj3是否在sortArray中繼續(xù)循環(huán)州叠,能從soortArray中取出元素,判斷是否在數(shù)組中凶赁,在繼續(xù)循環(huán)咧栗,不在側(cè)退出循環(huán)
for(id obj3 in sortArray){
NSLog(@"obj3=%@",obj3);
//打印結(jié)果:obj3=hello welcome china world baidu
}
}
return 0;
}
@end