欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

ios基礎(chǔ)教程之常見(jiàn)的數(shù)組使用方法

 更新時(shí)間:2019年01月25日 14:41:46   作者:石, 穩(wěn)  
這篇文章主要給大家介紹了關(guān)于ios基礎(chǔ)教程之常見(jiàn)的數(shù)組使用方法的相關(guān)資料,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧

一、數(shù)組的簡(jiǎn)單介紹

1.數(shù)組是一個(gè)對(duì)象,是任意類型對(duì)象地址的集合,OC的數(shù)組可以存儲(chǔ)不同類型的對(duì)象

2.OC的數(shù)組只能存儲(chǔ)對(duì)象,不能存放 簡(jiǎn)單的數(shù)據(jù)類型(int, float, NSInteger…)除非通過(guò)一些手段把簡(jiǎn)單數(shù)據(jù)類型變成對(duì)象。在C語(yǔ)言中的數(shù)組可以保存任意類型的數(shù)據(jù)。

3.存儲(chǔ)的內(nèi)存是連續(xù)的

二、不可變數(shù)組

0.定義數(shù)組

//定義一個(gè)空數(shù)組
NSArray *array1 = [NSArray array] ;
array1 = @[];//空數(shù)組
//通過(guò)指定對(duì)象創(chuàng)建數(shù)組
array1 = [[NSArray alloc]initWithObjects:@"123",@"hello",@"ya",@"yuan",@"zi", nil] ;
//通過(guò)簡(jiǎn)單的方式創(chuàng)建數(shù)組
array1 = @[@"123",@"hello",@"ya",@"yuan",@"zi"] ;

1.數(shù)組的長(zhǎng)度

NSInteger count = array1.count ;
NSLog(@"%ld",count) ;

2.判斷當(dāng)前的數(shù)組中是否包含對(duì)應(yīng)的對(duì)象 containsObject

BOOL isHave = [array1 containsObject:@"123"] ;
if (isHave) {
  NSLog(@"存在") ;
 }else{
  NSLog(@"不存在") ;
  }
 
 /*
 
   [A isKindOfClass:B],判斷A類是否是B的子類或者本類。
 
   [A isMemberOfClass:B],判斷A類是否是B類(不包括子類)
 
   */

3.得到數(shù)組中最后一個(gè)對(duì)象

NSString *str = [array1 lastObject];
NSLog(@"str=%@",str) ;

4.得到第一個(gè)對(duì)象

NSString *str1 = [array1 firstObject];
NSLog(@"str1=%@",str1) ;

5.取出數(shù)組的指定的對(duì)象 (下標(biāo)要小于數(shù)組的count)

NSString *str2 = [array1 objectAtIndex:3] ;
NSLog(@"str2=%@",str2) ;

6.得到指定元素在數(shù)組中的位置 如果元素不存在則打印-1值

int index = (int)[array1 indexOfObject:@"yayuanzi"] ;
int index1 = (int)[array1 indexOfObject:@"ya"] ;
NSLog(@"index=%d,index=%d",index,index1) ;

7.數(shù)組的遍歷–> 查找數(shù)組中的每一個(gè)元素

7.1 基本的for循環(huán)通過(guò)下標(biāo)逐一查找

for (int i = 0; i < array1.count; i++) {
 NSString *str3 = [array1 objectAtIndex:i] ;
 NSLog(@"str3 = %@",str3) ;
 }

7.2 for in 快速遍歷 注意:需要讓數(shù)組中的元素的類型保持一致

for (NSString *str4 in array1) {
   NSLog(@"str4 = %@",str4) ;
  }

8.把數(shù)組中所有的元素轉(zhuǎn)化為字符串

[array1 componentsJoinedByString:@“兩個(gè)元素之間添加的字符串”];

9.取出數(shù)組中的一部分元素

//只初始化一個(gè)索引
NSIndexSet *indexSet = [NSIndexSet indexSetWithIndex:2];
 
//下標(biāo)為1,長(zhǎng)度為2
NSRange range = NSMakeRange(0, 3);
 
//構(gòu)造一個(gè)范圍的索引
indexSet = [NSIndexSet indexSetWithIndexesInRange:range];
 
[array objectsAtIndexes:indexSet];

10.把數(shù)組寫入文件

[array1 writeToFile:path atomically:YES];

11.從文件中讀取數(shù)組

[NSArray arrayWithContentsOfFile:path];

三、可變數(shù)組

當(dāng)數(shù)據(jù)不確定數(shù)量或者動(dòng)態(tài)變化的時(shí)候就需要使用到可變數(shù)組

0.創(chuàng)建空的可變數(shù)組

NSMutableArray *mutArray = [[NSMutableArray alloc]init] ;
NSMutableArray *mutArray1 = [NSMutableArray array];

1.創(chuàng)建有對(duì)象的數(shù)組

1.初始化只能有一個(gè)對(duì)象
NSMutableArray arrayWithObject:@"111"];

2.初始化只能有多個(gè)對(duì)象
2.1[NSMutableArray arrayWithObjects:@"1111",@"222",@"333",@"4444", nil];
2.2[[NSMutableArray alloc] initWithObjects:<#(id), ...#>, nil];

2.添加對(duì)象 注意下面兩種的區(qū)別

NSMutableArray *mutArray = [[NSMutableArray alloc]init] ;
Person *personName1 = [[Person alloc]initWithName:@"wuhu"] ;
Person *personName2 = [[Person alloc]initWithName:@"yayuanzi"] ;
Person *personName3 = [[Person alloc]initWithName:@"company"] ;
NSArray *arr = [NSArray arrayWithObjects:personName2,personName3, nil] ;
//1.添加對(duì)象 注意下面兩種的區(qū)別
[mutArray addObject:personName1] ;
NSLog(@"mutArray = %@",mutArray) ;
[mutArray addObject:arr] ; //將arr作為一個(gè)對(duì)象整體添加到數(shù)組上
NSLog(@"mutArray = %@",mutArray) ;
[mutArray addObjectsFromArray:arr] ; //將arr中的對(duì)象,一個(gè)一個(gè)的加到可變數(shù)組中
NSLog(@"mutArray = %@",mutArray) ;

3.交換元素的位置根據(jù)下標(biāo)

[mutArray exchangeObjectAtIndex:1 withObjectAtIndex:2] ;

4.刪除元素

//4.1刪除所有的元素
[mutArray removeAllObjects] ;
//4.2刪除最后一個(gè)元素
[mutArray removeLastObject] ;
//4.3刪除指定的元素
[mutArray removeObject:personName3] ;
//4.4根據(jù)下標(biāo)來(lái)刪除 :注意元素內(nèi)元素的個(gè)數(shù)下標(biāo)問(wèn)題會(huì)導(dǎo)致奔潰
[mutArray removeObjectAtIndex:2] ;

總結(jié)

以上就是這篇文章的全部?jī)?nèi)容了,希望本文的內(nèi)容對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,如果有疑問(wèn)大家可以留言交流,謝謝大家對(duì)腳本之家的支持。

相關(guān)文章

  • IOS代碼筆記之下拉菜單效果

    IOS代碼筆記之下拉菜單效果

    這篇文章主要為大家詳細(xì)介紹了IOS實(shí)現(xiàn)下拉菜單效果的相關(guān)資料,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2016-07-07
  • IOS UITableViewCell詳解及按鈕點(diǎn)擊事件處理實(shí)例

    IOS UITableViewCell詳解及按鈕點(diǎn)擊事件處理實(shí)例

    這篇文章主要介紹了IOS UITableViewCell詳解及按鈕點(diǎn)擊事件處理實(shí)例的相關(guān)資料,這里附有示例代碼,大家可以看下如何實(shí)現(xiàn)按鍵點(diǎn)擊事件,需要的朋友可以參考下
    2016-12-12
  • iOS開(kāi)發(fā)中實(shí)現(xiàn)hook消息機(jī)制的方法探究

    iOS開(kāi)發(fā)中實(shí)現(xiàn)hook消息機(jī)制的方法探究

    這篇文章主要介紹了iOS開(kāi)發(fā)中實(shí)現(xiàn)hook消息機(jī)制的方法探究,這里用到了一個(gè)Method Swizzling原理,需要的朋友可以參考下
    2015-10-10
  • 詳解iOS AFNetworking取消正在進(jìn)行的網(wǎng)絡(luò)請(qǐng)求

    詳解iOS AFNetworking取消正在進(jìn)行的網(wǎng)絡(luò)請(qǐng)求

    這篇文章主要介紹了詳解iOS AFNetworking取消正在進(jìn)行的網(wǎng)絡(luò)請(qǐng)求,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2018-06-06
  • iOS簡(jiǎn)單到無(wú)門檻調(diào)試WebView的步驟詳解

    iOS簡(jiǎn)單到無(wú)門檻調(diào)試WebView的步驟詳解

    這篇文章主要給大家介紹了關(guān)于iOS調(diào)試WebView的相關(guān)資料,文中介紹的方法可以說(shuō)是非常簡(jiǎn)單,簡(jiǎn)單到無(wú)門檻,通過(guò)圖文介紹的非常詳細(xì),需要的朋友可以參考借鑒,下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2018-07-07
  • iOS開(kāi)發(fā)實(shí)現(xiàn)HTTPS之cer文件的使用詳解

    iOS開(kāi)發(fā)實(shí)現(xiàn)HTTPS之cer文件的使用詳解

    下面小編就為大家分享一篇iOS開(kāi)發(fā)實(shí)現(xiàn)HTTPS之cer文件的使用詳解,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2018-01-01
  • iOS動(dòng)畫(huà)教你編寫Slack的Loading動(dòng)畫(huà)進(jìn)階篇

    iOS動(dòng)畫(huà)教你編寫Slack的Loading動(dòng)畫(huà)進(jìn)階篇

    這篇文章主要為大家進(jìn)一步詳細(xì)介紹了iOS動(dòng)畫(huà)教你編寫Slack的Loading動(dòng)畫(huà),文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2016-09-09
  • iOS使用Target如何快速科學(xué)的區(qū)分開(kāi)發(fā)環(huán)境詳解

    iOS使用Target如何快速科學(xué)的區(qū)分開(kāi)發(fā)環(huán)境詳解

    這篇文章主要給大家介紹了關(guān)于iOS使用Target如何快速科學(xué)的區(qū)分開(kāi)發(fā)環(huán)境的相關(guān)資料,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧。
    2017-12-12
  • iOS獲取驗(yàn)證碼倒計(jì)時(shí)效果

    iOS獲取驗(yàn)證碼倒計(jì)時(shí)效果

    這篇文章主要為大家詳細(xì)介紹了iOS獲取驗(yàn)證碼倒計(jì)時(shí)效果,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2016-11-11
  • IOS獲取各種文件目錄路徑的方法

    IOS獲取各種文件目錄路徑的方法

    ios獲取文件路徑的方法,iphone沙箱模型的四個(gè)文件夾,通過(guò)documents,tmp,app,Library得到模擬器路徑的簡(jiǎn)單方式,下面小編整理相關(guān)資料,把IOS獲取各種文件目錄路徑的方式總結(jié)如下,需要的朋友可以參考下
    2015-08-08

最新評(píng)論