亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 學院 > 開發設計 > 正文

iOS階段學習第15天筆記(NSArray與NSMutableArray數組)

2019-11-14 18:45:10
字體:
來源:轉載
供稿:網友

iOS學習(OC語言)知識點整理

一、OC中的數組

1)數組:也是一個對象,數組中存放的是對象的地址,可以存放任意類型對象的地址,只能是對象不能是具體的數值,數組是有序的,
      可以存放重復的元素,數組也分為不可變數組和可變數組.
       1、不可變數組NSArray:初始化之后不能修改數組的內容
       2、可變數組NSMutableArray:可以隨時修改數組的內容(增加元素、刪除元素、修改元素)

二、NSArray數組的操作

1)NSArray數組的創建

1、創建方法一:使用實例方法創建數組對象 例如:

1 NSArray *array1=[[NSArray alloc]initWithObjects:@"one",2 [NSNumber numberWithInt:20],@"three",@"one",@"four", nil];3 //用一個數組對象創建另一個數組對象4 NSArray *array2=[[NSArray alloc]initWithArray:array1];


2、創建方法二:用類方法創建數組對象 例如:

1 NSArray *array3=[NSArray arrayWithObjects:@"one",@"two",@"three",@"four", nil]; 

3、創建方法三:直接快速創建數組 例如:

1 NSArray *array4=@[@"one",@"two",@"three",@"four"];


2)數組中可使用.count 獲取數組中元素的個數, 例如: 1 NSUInteger number= array1.count; 

3)objectAtIndex 用于根據數組下標獲取數組中的元素 例如:

   1 NSString *str1=[array1 objectAtIndex:0]; //獲取數組中的第一個元素

   2 NSString *str2=array1[0];//使用類似C語言的方式取出下標對應的元素 

4)firstObject 用于獲取數組中的第一個元素 例如:
      1 NSString *first=[array1 firstObject]; 

5)lastObject 用于獲取數組中最后一個元素 例如:
      1 NSString *last=[array1 lastObject]; 

6)indexOfObject 用于根據元素獲取該元素在數組中的下標 例如:
      1 NSUInteger index=[array1 indexOfObject:@"three"];// 結果為:2 

7)containsObject 用于判斷數組中是否存在某個元素 例如: 

1 if([array1 containsObject:@"four"]){2    NSLog(@"contains");3 } 

8)subarrayWithRange 獲取數組某個范圍的數據,可用于對數組數據分頁操作

1  NSArray *numArray=@[@1,@2,@3,@5,@6];2  NSRange range=NSMakeRange(1, 2);//第一個參數為取值起始位置;第二個參數為取值個數3  NSArray *array=[numArray subarrayWithRange:range];4  NSLog(@"%@",array);//結果:(2,3)

 

9)NSArray 數組遍歷方法

 1、循環遍歷法:通過下標取每個元素 例如:

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


2、迭代器法:創建一個迭代器對象,遍歷array1的元素 例如:

1 NSEnumerator *enumerator=[array1 objectEnumerator];2 id obj;3 //[enumerator nextObject]:迭代器自動指向下一個元素,如果沒有元素,為nil4 while (obj=[enumerator nextObject]) {5     NSLog(@"%@",obj);6 }


 3、快速遍歷法: 遍歷時不能修改元素的內容 例如:

1 //循環中會自動將數組中的每個元素賦給s2 for(id s in array1){3     if([s isKindOfClass:[NSNumber class]])//取出數組中的數值類型的數據4        NSLog(@"number ******%@",s);5     else if ([s isKindOfClass:[NSString class]]) //取出數組中字符串類型的數據6       NSLog(@"nsstring******%@",s);7 8  }


10) 直接輸出打印一個數組是會自動調用數組中的元素的description方法,把所有的元素都顯示出來 例如: 

1 NSLog(@"%@",array1);//注:中文內容會變亂碼,需要循環遍歷輸出才行。 

 
11)componentsJoinedByString 用于將數組中的各個元素用指定字符拼接成一個字符串 例如: 

NSString *s=[array1 componentsJoinedByString:@","];//以逗號拼接各個元素 

 

12)componentsSeparatedByString 用于將一個字符串以指定字符分割成一個數組 例如:

1 NSString *str=@"hello,nihao,shang,hai"; 2 NSArray *array6=[str componentsSeparatedByString:@","];//以符號分割字符串


13)componentsSeparatedByCharactersInSet 用字符串中所有的字符創建一個字符集對象,根據字符集對象截取字符串 例如:

1 NSString *str7=@"hello,@nihao!shang,hai";2 NSArray *array7=[str7 componentsSeparatedByCharactersInSet:
[NSCharacterSet characterSetWithCharactersInString:@",@!"]];3 NSLog(@"array7:%@",array7);4 5 // 注:根據字符集對象中的任意一個字符,將字符串拆分成各個子字符串,會出現@""的情況,需要自己手動處理, 例如:6 if (![str isEqualToString:@""]) {7 //執行代碼8 }


三、NSMutableArray 數組的操作

1)可變數組:父類是NSArray,NSMutableArray可以操作數組中的元素(增加、刪除、修改)

2)initWithObjects 用于創建可變數組對象 例如:
     1 NSMutableArray *array1=[[NSMutableArray alloc]initWithObjects:@"one",@"two", nil]; 

3)addObject 在數組最后添加一個對象 例如:
    1 [array1 addObject:[NSNumber numberWithInt:100]]; 

4)insertObject … atIndex… 在數組的指定索引位置插入一個對象 例如:
     1 [array1 insertObject:@"shanghai" atIndex:0];  

5)removeObject 刪除指定元素,如果有多個,全都被刪除 ,例如:
     1 [array1 removeObject:@"one"]; 

6)removeLastObject 用于刪除最后一個元素 例如:
     1 [array1 removeLastObject]; 

7)removeObjectAtIndex 用于刪除數組中指定位置的元素 例如:
      1 [array1 removeObjectAtIndex:2]; 

8)removeObject… inRange… 將指定范圍內的元素刪除(如果不指定,會將所有相同的都刪除) 例如:
     1 [array1 removeObject:@"two" inRange:NSMakeRange(0, 3)]; 

9)removeAllObjects 刪除數組中所有的元素 例如:
      1 [array1 removeAllObjects]; 

10)replaceObjectAtIndex… withObject… 將指定位置的元素用新的元素替換 例如:
       1 [array1 replaceObjectAtIndex:0 withObject:@"hello"]; 

11)exchangeObjectAtIndex… withObjectAtIndex… 用于交換指定下標處的元素 例如:
       1 [array1 exchangeObjectAtIndex:0 withObjectAtIndex:2];

12)setArray 重置數組中的內容   例如: 

1 NSArray *subArray=@[@"ios",@"two",@"oc"];2 [array1 setArray:subArray];

13)NSMutableArray 對類對象的排序操作。
實例代碼:

//數組根據指定元素排序的操作NSMutableArray *array=[[NSMutableArray alloc]init];Student *stu=[[Student alloc]init];stu.name=@"KingKong";stu.age=24;stu.no=@"A1088";stu.score=99;[array addObject:stu];//根據成績正序排(ascending:NO 倒序排)NSSortDescriptor *sortDes = [NSSortDescriptor sortDescriptorWithKey:@"score" ascending:YES]; [array sortUsingDescriptors:[NSMutableArray arrayWithObject:sortDes]];

 


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
欧美视频裸体精品| 国产精品久久久av久久久| 久久综合九色九九| 日韩精品免费在线视频| 成人情趣片在线观看免费| 在线日韩av观看| 黑人巨大精品欧美一区免费视频| 欧美国产日韩二区| 色黄久久久久久| 亚洲社区在线观看| 亚洲人午夜精品免费| 国产日产久久高清欧美一区| 日韩av第一页| 国产精品吹潮在线观看| 国产精品永久免费视频| 日韩av大片免费看| 亚洲成年人在线| 成人亚洲欧美一区二区三区| 日韩欧美在线网址| 久久精品国产一区二区电影| 国产99久久精品一区二区 夜夜躁日日躁| 亚洲电影在线观看| 亚洲精品视频二区| 91欧美精品午夜性色福利在线| 中文字幕日韩在线观看| 欧美理论在线观看| 日韩一级裸体免费视频| 久久久免费精品| 国产精品v片在线观看不卡| 欧美亚州一区二区三区| 日本久久亚洲电影| 亚洲人a成www在线影院| 国产综合久久久久久| 91麻豆国产精品| 国产一区二区精品丝袜| 精品丝袜一区二区三区| 欧美最猛性xxxxx(亚洲精品)| 久久99精品久久久久久青青91| 国产精品免费一区二区三区都可以| 亚洲а∨天堂久久精品9966| 欧美性xxxx| 欧洲精品久久久| 国a精品视频大全| 亚洲欧美日韩综合| 深夜福利日韩在线看| 久久久免费精品视频| 亚洲精品一区二三区不卡| 亚洲人成亚洲人成在线观看| 欧美日本亚洲视频| 亚洲精品免费网站| 成人免费看黄网站| 欧美主播福利视频| 国产精品三级美女白浆呻吟| 日韩精品视频免费| 欧美日韩在线视频观看| 久久久久在线观看| 亚洲第一页自拍| 欧美电影免费观看电视剧大全| 92国产精品视频| 成人精品视频在线| 黑人巨大精品欧美一区免费视频| 欧美性xxxxxxx| 97成人精品视频在线观看| 亚洲精品在线视频| 国产成人久久久精品一区| 欧美国产日韩视频| 超碰91人人草人人干| 国产视频精品自拍| 国产精品久久二区| 亚洲精品久久视频| 精品五月天久久| 国产精品露脸av在线| 国产精品自产拍高潮在线观看| 狠狠躁天天躁日日躁欧美| 亚洲成人av资源网| 欧美日韩国产999| 精品国产一区二区在线| 少妇高潮久久久久久潘金莲| 久久偷看各类女兵18女厕嘘嘘| 久久久久亚洲精品| 日韩av有码在线| 91在线看www| 深夜福利国产精品| 国产精品中文字幕在线观看| 91爱视频在线| 国产一区二区在线免费视频| 91精品国产综合久久久久久蜜臀| 色综合91久久精品中文字幕| 欧美日韩性视频在线| 欧美日韩精品在线播放| 在线成人中文字幕| 91免费福利视频| 久久精品久久久久久| 亚洲九九九在线观看| 日韩美女中文字幕| yw.139尤物在线精品视频| 91精品久久久久久久久不口人| 欧美电影免费观看| 久久久综合免费视频| 欧美裸身视频免费观看| 久久久免费观看| 亚洲精品国产综合久久| 中文字幕在线看视频国产欧美| 亚洲国产成人一区| 国产欧美日韩中文字幕在线| 国产精品午夜国产小视频| 国产区亚洲区欧美区| 日韩在线观看你懂的| 亚洲精品免费网站| 国产日韩精品在线观看| 欧美乱大交做爰xxxⅹ性3| 欧美午夜精品伦理| 欧美日韩国产一区二区| 亚洲综合精品伊人久久| 日韩中文字幕国产| 日韩精品在线影院| 午夜免费在线观看精品视频| 精品美女久久久久久免费| 91色视频在线观看| 亚洲国产精品人久久电影| 国产成人福利网站| 欧美电影免费观看高清完整| 91免费人成网站在线观看18| 久久久久久999| 久久久久久久久久久91| 日韩国产激情在线| 亚洲精品在线观看www| 亚洲男人第一av网站| 久久五月天色综合| 日韩精品免费在线| 国产欧美最新羞羞视频在线观看| 国产精品国模在线| 亚洲性猛交xxxxwww| 亚洲第一网站男人都懂| 欧美黑人巨大精品一区二区| 亚洲精品久久在线| 成人福利免费观看| 欧美xxxx14xxxxx性爽| 91网在线免费观看| 亚洲无av在线中文字幕| 免费av一区二区| 精品呦交小u女在线| 琪琪第一精品导航| 亚洲国产精品电影在线观看| 久久中文久久字幕| 日韩中文字幕网站| 成人黄色在线免费| 欧美国产欧美亚洲国产日韩mv天天看完整| 亚洲精品一区久久久久久| 欧美大片在线看| 欧美成人午夜激情| 国产成人精品国内自产拍免费看| 亚洲无限乱码一二三四麻| 国产精品欧美风情| 国产成人一区二区在线| 日本精品久久久| 欧美激情一区二区三级高清视频| 国产手机视频精品| 色婷婷av一区二区三区在线观看| 欧美最猛性xxxx| 亚洲欧洲在线播放| 国产日韩欧美在线播放| 亚洲黄色片网站| 国产亚洲视频在线观看|