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); //等價(jià)于 array1.descripton //(2)使用類方法創(chuàng)建 NSArray *array2 = [NSArray arrayWithObjects:s1,s2,s3, nil]; //(3)創(chuàng)建一個(gè)數(shù)組對(duì)象,同時(shí)往里面存入一元素 NSArray *array3 = [NSArray arrayWithObject:s1]; //(4)創(chuàng)建一個(gè)數(shù)組,此數(shù)組中的元素來(lái)自array1 NSArray *array4 = [NSArray arrayWithArray:array1]; NSLog(@"array4 = %@",array4); //2.通過下標(biāo)取元素 NSString *str1 = [array4 objectAtIndex:0]; //3.數(shù)組元素的個(gè)數(shù) NSUInteger count = [array4 count]; //等價(jià)于:array4.count; //4.判斷數(shù)組中的是否包含某個(gè)元素 BOOL isContains = [array4 containsObject:@"zhangsan"]; NSLog(@"isContains:%d",isContains); //5.查找某一個(gè)對(duì)象在數(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ù)組最后一個(gè)元素 NSString *lastObj = [array4 lastObject]; //array4.lastObject NSLog(@"lsatObj = %@",lastObj); //8.再原路的數(shù)組后面添加一個(gè)元素 NSArray *array5 = [array4 arrayByAddingObject:@"zhaolia"]; NSLog(@"array5 = %@",array5); //取對(duì)應(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)建一個(gè)素組 NSArray *array7 = @[s1,s2,s3]; //等價(jià)于:NSArray *array7 = [NSArray arrayWithObjects:s1,s2,s3,nil]; NSLog(@"array7 = %@",array7); NSString *str = array7[0]; NSLog(@"array[7] = %@",str); //------------------可變數(shù)組 //初始化,設(shè)定元素個(gè)數(shù)為5,可以更改的。(繼承自NSArray) NSMutableArray *mutableArray = [NSMutableArray arrayWithCapacity:5]; //想數(shù)組中添加一個(gè)元素 [mutableArray addObject:@"aaa"]; //向數(shù)組中指定下標(biāo)插入元素 [mutableArray insertObject:@"ccc" atIndex:0]; NSLog(@"%@",mutableArray); //原來(lái)位置元素后移 //移除最后一個(gè)元素 [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)建了一個(gè)不可變數(shù)組 NSMutableArray *mArray1 = [[NSMutableArray alloc] initWithObjects:s1,s2,s3, nil]; //創(chuàng)建數(shù)組時(shí),開辟3個(gè)空間用于存儲(chǔ)元素,存儲(chǔ)超過容量,數(shù)組自動(dòng)增大空間 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.互換兩個(gè)元素的位置 [mArray2 exchangeObjectAtIndex:3 withObjectAtIndex:0]; NSLog(@"mArray2 = %@",mArray2); //6.刪除元素 //6.1根據(jù)下標(biāo)刪除 [mArray2 removeObjectAtIndex:2]; NSLog(@"mArray2 = %@",mArray2); //6.2刪除最后一個(gè)元素 [mArray2 removeLastObject]; NSLog(@"mArray2 = %@",mArray2); //6.3刪除指定的對(duì)象 //[mArray2 removeObject:@"zhangsan"]; //6.4刪除所有元素 [mArray2 removeAllObjects]; NSLog(@"mArray2 = %@",mArray2);
以上所述是小編給大家介紹的iOS中NSArray數(shù)組常用處理方式,希望對(duì)大家有所幫助,如果大家有任何疑問請(qǐng)給我留言,小編會(huì)及時(shí)回復(fù)大家的。在此也非常感謝大家對(duì)腳本之家網(wǎng)站的支持!
相關(guān)文章
實(shí)例分析IOS實(shí)現(xiàn)自動(dòng)打包
本篇文章給大家分享了IOS實(shí)現(xiàn)自動(dòng)打包的相關(guān)知識(shí)點(diǎn),以及需要的操作內(nèi)容做了分享,有需要的朋友可以學(xué)習(xí)下。2018-05-05iOS復(fù)數(shù)cell下優(yōu)雅的代碼結(jié)構(gòu)詳解
這篇文章主要給大家介紹了關(guān)于iOS復(fù)數(shù)cell下優(yōu)雅的代碼結(jié)構(gòu)的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家學(xué)習(xí)或者使用iOS具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2019-04-04iOScollectionView廣告無(wú)限滾動(dòng)實(shí)例(Swift實(shí)現(xiàn))
本篇文章主要介紹了iOScollectionView廣告無(wú)限滾動(dòng)實(shí)例,可以實(shí)現(xiàn)廣告無(wú)限滾動(dòng),有興趣的可以了解一下。2016-11-11解決Flutter出現(xiàn)CocoaPods報(bào)錯(cuò)情況(Mac和IOS)
這篇文章主要為大家介紹了解決Flutter出現(xiàn)CocoaPods報(bào)錯(cuò)情況(Mac和IOS)的方法詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-08-08詳解iOS應(yīng)用中播放本地視頻以及選取本地音頻的組件用法
這里來(lái)為大家詳解iOS應(yīng)用中播放本地視頻以及選取本地音頻的組件用法,分別使用MPMoviePlayerControlle和MPMediaPickerController來(lái)實(shí)現(xiàn),兩個(gè)都是MediaPlayer.framework中的多媒體組件,所以我們放到一起來(lái)講.2016-06-06iOS tableView上拉刷新顯示下載進(jìn)度的問題及解決辦法
這篇文章主要介紹了 iOS tableView上拉刷新顯示下載進(jìn)度的問題及解決辦法,需要的朋友可以參考下2017-03-03