iOS中NSArray數(shù)組常用處理方式
更新時間:2016年08月30日 09:39:50 作者:賈路寬
這篇文章主要介紹了iOS中NSArray數(shù)組常用處理方式,非常不錯,具有參考借鑒價值,需要的朋友可以參考下
1. 數(shù)組的常用處理方式
//--------------------不可變數(shù)組
//1.數(shù)組的創(chuàng)建
NSString *s1 = @"zhangsan";
NSString *s2 = @"lisi";
NSString *s3 = @"wangwu";
//(1)
NSArray *array1 = [[NSArray alloc] initWithObjects:s1,s2,s3, nil];
NSLog(@"%@",array1); //等價于 array1.descripton
//(2)使用類方法創(chuàng)建
NSArray *array2 = [NSArray arrayWithObjects:s1,s2,s3, nil];
//(3)創(chuàng)建一個數(shù)組對象,同時往里面存入一元素
NSArray *array3 = [NSArray arrayWithObject:s1];
//(4)創(chuàng)建一個數(shù)組,此數(shù)組中的元素來自array1
NSArray *array4 = [NSArray arrayWithArray:array1];
NSLog(@"array4 = %@",array4);
//2.通過下標(biāo)取元素
NSString *str1 = [array4 objectAtIndex:0];
//3.數(shù)組元素的個數(shù)
NSUInteger count = [array4 count]; //等價于:array4.count;
//4.判斷數(shù)組中的是否包含某個元素
BOOL isContains = [array4 containsObject:@"zhangsan"];
NSLog(@"isContains:%d",isContains);
//5.查找某一個對象在數(shù)組中的下標(biāo)位置
NSUInteger index = [array4 indexOfObject:@"wangwu"];
if (index == NSNotFound) {
NSLog(@"Not find elemnts");
} else {
NSLog(@"index = %ld",index);
}
//6.鏈接數(shù)組中的字符串(前提:數(shù)組中都是字符串)
NSString *joinString = [array4 componentsJoinedByString:@","];
NSLog(@"joinString = %@",joinString);
//7.訪問數(shù)組最后一個元素
NSString *lastObj = [array4 lastObject]; //array4.lastObject
NSLog(@"lsatObj = %@",lastObj);
//8.再原路的數(shù)組后面添加一個元素
NSArray *array5 = [array4 arrayByAddingObject:@"zhaolia"];
NSLog(@"array5 = %@",array5);
//取對應(yīng)下標(biāo)元素
int idx=4;
if (idx <array5.count) {
NSString *s = [array5 objectAtIndex:idx];
NSLog(@"s = %@",s);
}
//--------------數(shù)組的遍歷
//1.普通遍歷
for (int i=0; i<array5.count; i++) {
NSString *str = [array5 objectAtIndex:i];
NSLog(@"%@",str);
}
//快速遍歷
for (NSString *s in array5) {
NSLog(@"%@",s);
}
//4.4之后的優(yōu)化
//1.創(chuàng)建一個素組
NSArray *array7 = @[s1,s2,s3]; //等價于:NSArray *array7 = [NSArray arrayWithObjects:s1,s2,s3,nil];
NSLog(@"array7 = %@",array7);
NSString *str = array7[0];
NSLog(@"array[7] = %@",str);
//------------------可變數(shù)組
//初始化,設(shè)定元素個數(shù)為5,可以更改的。(繼承自NSArray)
NSMutableArray *mutableArray = [NSMutableArray arrayWithCapacity:5];
//想數(shù)組中添加一個元素
[mutableArray addObject:@"aaa"];
//向數(shù)組中指定下標(biāo)插入元素
[mutableArray insertObject:@"ccc" atIndex:0];
NSLog(@"%@",mutableArray); //原來位置元素后移
//移除最后一個元素
[mutableArray removeLastObject];
NSLog(@"移除最后元素后:%@",mutableArray);
//移除指定元素
[mutableArray removeObject:@"aaa"];
//移除指定下標(biāo)元素
[mutableArray removeObjectAtIndex:0];
//向數(shù)組中添加數(shù)組
[mutableArray addObjectsFromArray:array1];
//1.創(chuàng)建可變數(shù)組
NSString *t1 = @"zhangsan ";
NSString *t2 = @"lisi";
NSString *t3 = @"wangwu ";
// NSMutableArray *mArray1 = @[s1,s2,s3];//wrong.這里創(chuàng)建了一個不可變數(shù)組
NSMutableArray *mArray1 = [[NSMutableArray alloc] initWithObjects:s1,s2,s3, nil];
//創(chuàng)建數(shù)組時,開辟3個空間用于存儲元素,存儲超過容量,數(shù)組自動增大空間
NSMutableArray *mArray2 = [[NSMutableArray alloc] initWithCapacity:3];
NSMutableArray *mArray3 = [NSMutableArray arrayWithCapacity:3];
//2.添加元素
[mArray2 addObject:t1];
[mArray2 addObject:t2];
[mArray2 addObject:t3];
NSLog(@"mArray2= %@",mArray2);
//將mArray2 中元素添加到mArray3中
// [mArray3 addObjectsFromArray:mArray2];
//將mArray2作為二維數(shù)字添加
[mArray3 addObject:mArray2];
NSLog(@"mArray3 = %@",mArray3);
//3.插入元素
[mArray2 insertObject:@"Jack" atIndex:0];
NSLog(@"mArray2 = %@",mArray2);
//4.替換元素
[mArray2 replaceObjectAtIndex:0 withObject:@"John"];
NSLog(@"替換:%@",mArray2);
//5.互換兩個元素的位置
[mArray2 exchangeObjectAtIndex:3 withObjectAtIndex:0];
NSLog(@"mArray2 = %@",mArray2);
//6.刪除元素
//6.1根據(jù)下標(biāo)刪除
[mArray2 removeObjectAtIndex:2];
NSLog(@"mArray2 = %@",mArray2);
//6.2刪除最后一個元素
[mArray2 removeLastObject];
NSLog(@"mArray2 = %@",mArray2);
//6.3刪除指定的對象
//[mArray2 removeObject:@"zhangsan"];
//6.4刪除所有元素
[mArray2 removeAllObjects];
NSLog(@"mArray2 = %@",mArray2);
以上所述是小編給大家介紹的iOS中NSArray數(shù)組常用處理方式,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復(fù)大家的。在此也非常感謝大家對腳本之家網(wǎng)站的支持!
相關(guān)文章
iOS中關(guān)于音樂鎖屏控制音樂(鎖屏信息設(shè)置)的實例代碼
這篇文章主要介紹了 iOS中關(guān)于音樂鎖屏控制音樂(鎖屏信息設(shè)置)的實例代碼,需要的朋友可以參考下2017-01-01
iOS使用fastlane實現(xiàn)持續(xù)集成的方法教程
這篇文章主要給大家介紹了關(guān)于iOS使用fastlane如何實現(xiàn)持續(xù)集成的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對各位iOS開發(fā)者們具有一定的參考學(xué)習(xí)價值,需要的朋友們下面來一起學(xué)習(xí)學(xué)習(xí)吧2019-04-04
快速解決低版本Xcode不支持高版本iOS真機(jī)調(diào)試的問題方法
這篇文章主要介紹了快速解決低版本Xcode不支持高版本iOS真機(jī)調(diào)試的問題,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2017-02-02
Objective C從遠(yuǎn)程url下載圖片方法匯總
本文給大家分享了2則使用Objective C從遠(yuǎn)程url下載圖片的方法,都是個人項目中使用的,匯總下推薦給大家,有需要的小伙伴可以參考下。2015-05-05

