NSArray

/*

數組

系統提供的數組類:類似于C語言中的數組的功能

數組是一個大容器,數組中航韓國可以存儲不同類型的對象,但必須要保證數組中儲存的都是對象/

OC提供了兩類數組:一類是NSArray(不可變數組)一類是NSMutableArray(可變數組)

可變與不可變的區別:可變就意味著可以對原有對象進行操作,不可變就意味著一旦創建,內容就不可改變

*/

//(1)使用初始化方法創建數組

//(2)使用便利構造器方法創建數組

NSArray *array = [NSArray arrayWithObjects:@"xueYe",@"xuBaoBao",@"yeBaoBao",@"xueYeBaoBao",nil];

NSLog(@"%@",array);

//(3)字面量

NSArray *array = @[@"xuYe",@"xuBaoBao",@"yeBaoBao",@"xueYeBaoBao"];

NSLog(@"%@",array);

//數組元素的個數

NSUInteger count = array.count;

NSLog(@"%lu",count);

//獲取數組元素

NSString *name1 = [array objectAtIndex:0];

NSLog(@"%@",name1);

//自變量取法

NSString *name2 = array[2];

NSLog(@"%@",name2);

NSString *name3 = [array firstObject];

NSLog(@"first = %@",name3);

NSString *name4 = [array lastObject];

NSLog(@"%@",name4);

//當元素為空的時候,使用firstObject以及lastObject可以保證程序安全,不會崩潰,返回值為nil,但使用objectAtIndex:時,如果數組為空,則程序崩潰;

NSArray *nameArrayOne = [NSArray arrayWithObects:@"xueYe",@"xuBaoBao",@"yeBaoBao",@"xueYeBaoBao",nil];

NSArray *nameArrayTwo = [NSArray arrayWithObjects:@"xiaoYaLi",@"daYaLi",@"yaLiBaoBao",@"xiaoYaLiBaoBao",nil];

//查找xuBaoBao對應的下標

NSUInteger index = [nameArrayOne indexOfObject:@"xuBaoBao"];

NSLog(@"%lu",index);

//判斷數組中是否包含某個對象

BOOL *isTrue = [nameArrayOne containsObject:@"xueBaoBao"];

NSLog(@"isTrue == %d",isTrue);

//判斷兩個數組是否相等

BOOL *isEqual = [nameArrayOne isEqualToArray:nameArrayTwo];

NSLog(@"isEqual == %d",isEqual);

NSString *string1 = @"123";

NSStrng *string2 = @"390";

if([string1 isEqualToString:string2]){

NSLog(@"相等");

}else{

NSLog(@"不相等");

}

//NSArray 和NSString之間的轉換

NSString *string = @"www.lanou3g.com";

NSArray *array = [string componentSeparatedByString:@"."];

NSLog(@"%@",array);

//數組到字符串

NSArray *myArray = [NSArray arrayWithObjects:@"北京",@"大連",@"上海",@"廣州",@"鄭州",nil];

NSString *myString = [myArray componentsJoinedByString:@"&"];

NSLog(@"%@",myString);

//存在如下的字符串,將其中的圖片的網址提取出 “http://www.imanhua.com/Cover/2011-10/hyrz.jpg&http://www.imanhua.com/Cover/2011-09/op.jpg&http://www.imanhua.com/Cover/2012-04/yjdwb.jpg

NSString *string = @ “http://www.imanhua.com/Cover/2011-10/hyrz.jpg&http://www.imanhua.com/Cover/2011-09/op.jpg&http://www.imanhua.com/Cover/2012-04/yjdwb.jpg” ;

NSArray *Array = [string componentsSeparatedString:@"&"];

NSLog(@"%@",Array);

//有如下一個數組, @[@“type = iOS", @"Device = iPhone", @"count = 11344115@163.com", @"password = 12345”],將其中的內容用”&"符號拼接成一個字符串

NSArray *array = @[@"type = iOS",@"Device = iPhone",@"count = 11344115@163.com",@"password = 12345"];

NSString *myString = [array componentsJoinedByString:@"&"];

NSLog(@"%@",myString);

//Capacity容量

//以下三種方式都是創建一個可變的空數組

NSMutableArray *myArray = [[NSMutableArray alloc]initWithCapacity:1];

NSMutableArray *youArray = [NSMutableArray arrayWithCapacity:1];

//創建空數組

NSMutableArray *bigArray = [NSMutableArray array];

//增加數據

//addObject:在數組的最后面添加

[bigArray addObject:@"lanOu"];

[bigArray addObject:@"dalian"];

[bigArray addObject:@"beijing"];

[bigArray addObject:@"beijing"];

NSLog(@"%@",bigArray);

//在指定位置插入一個元素

[bigArray insertObject:@"heihei" atIndex:0];

NSLog(@"%@",bigArray);

//刪除

//1.刪除指定元素(只要是這個對象,有多少刪多少)

[bigArray removeObject:@"beijing"];

NSLog(@"%@",bigArray);

[bigArray removeObjectAtIndex:0];

NSLog(@"%@",bigArray);

//替換元素

[bigArray replaceObjectAtIndex:1 withObject:@"beijing"];

NSLog(@"%@",bigArray);

//交換指定位置的兩個元素

[bigArray exchangeObjectAtIndex:0 withObjecftAtIndex:1];

NSLog(@"%@",bigArray);

//刪除全部

[bigArray removeAllObjects];

NSLog(@"%@",bigArray);

/*

定義一個數組完成以下操作:

1.向數組中添加3個名字

2.從數組中查找指定的名字,并有另外一個名字代替

3.刪除指定的名字


*/


NSMutableArray *Array = [NSMutableArray arrayWithCapacity:1];

[Array addObject:@"dalian"];

[Array addObject:@"beijing"];

[Array addObject:@"shenyang"];

NSLog(@"%@",Array);

BOOL isTrue = [Array containsObject:@"shenyang"];

if(isTrue ){

NSUInteger index = [Array indexOfObject:@"shenyang"];

[Array replaceObjectAtIndex:index withObject:@"shanghai"];

}

else{

NSLog(@"不存在");

}

[Array removeObject:@"beijing"];

NSLog(@"%@",Array);

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容