成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

Obj-C數組以及字符串拼接與分割

移動開發 iOS
Obj-C只是增加了一點“特殊語料”的C語言,所以可以用printf()代替NSLog()。但我們建議使用NSLog,因為它添加了特性,例如時間戳,日期戳和自動附加換行符(‘\n’)等。

1.OC的數組成員是任意的對象指針    與C中的鏈表結構類似(以nil結尾)    一切的數組操作不能越界

OC的數組分為不可變數組 NSArray    可變數組 NSMutableArray

  1. NSArray * array = [[NSArray alloc]initWithObjects:@"one",@"two",@"three", nil]; 
  2.     NSLog(@"%@",[array objectAtIndex:0]);//通過下標獲取數組成員(下標從0開始) 
  3.     NSLog(@"%ld",[array count]);//獲取數組有效成員個數 (不包括nil) 
  4.     for (i = 0; i < [array count]; i++) {//遍歷數組(C方法) 
  5.          NSLog(@"%@",[array objectAtIndex:i]); 
  6.     } 
  7.     NSLog(@"%@",array);//(OC)查看數組內容(先給array發送description消息,然后給每個成員都發送一個description消息) 
  8.     NSArray * array1 = [[NSArray alloc]initWithArray:array];//創建數組對象 相當于拷貝 
  9.     NSArray * arry2 = [NSArray arrayWithArray:array];//創建數組對象 相當于拷貝 
  10.     NSEnumerator * enumer = [array objectEnumerator];//正序枚舉器 
  11.     //創建一個枚舉器 把數組的每個元素的地址一次賦給枚舉器,然后建立起某種關聯 (枚舉器只能用來讀數組成員) 
  12.     //枚舉時 會和數組創建某種關聯(修改監視器/迭代器) 限制枚舉的同時不能修改元素 只能讀不能寫 
  13.     id obj; 
  14.     //***次循環把數組的***個元素賦給obj  第二次循環把第二個數組元素賦給obj 
  15.     while (obj = [enumer nextObject]) {             //遍歷數組 
  16.          NSLog(@"%@",obj); 
  17.     } 
  18.     //快速枚舉  ***次循環把array的***個元素賦給ob  第二次循環把array的第二個元素賦給ob 直到nil(只能讀不能改) 
  19.     for(id ob in array){ 
  20.         NSLog(@"%@",ob);      
  21.     } 
  22.     //逆序輸出數組(創建逆序枚舉器  ***次循環把***一個元素賦給obj ) 
  23.     NSEnumerator * enumer1 = [array reverseObjectEnumerator]; 
  24.     while (obj = [enumer1 nextObject]) { 
  25.          NSLog(@"%@",obj); 
  26.     } 
  27.     if ([obj isKindOfClass:[Dog class]]) //獲取類的類型 判是否是指定類的對象 
  28.         if ([obj isMemberOfClass:[Dog class]]) { 
  29.         } 

2.不可變數組

  1. -------查找 
  2.       
  3.     NSArray * array = [[NSArray alloc]initWithObjects:@"one",@"two",@"three",@"one", nil];    
  4.     NSUInteger index = [array indexOfObject:@"one123"];//返回***個找到的數組成員對應的下標 找不到返回NSNotFound    
  5.     index = [array indexOfObject:@"one" inRange:NSMakeRange(1, 3)];//在指定范圍內查找 
  6.         if (index != NSNotFound) { 
  7.              NSLog(@"%ld",index); 
  8.         } 
  9.     ----抽取 組成新的數組 
  10.     NSArray * array1 = [array objectsAtIndexes:[NSIndexSet indexSetWithIndexesInRange:NSMakeRange(1, 3)]]; 
  11.     《數字集合》 
  12.     NSIndexSet這是個數字集合類 
  13.     [NSIndexSet indexSetWithIndexesInRange:NSMakeRange(1, 3)]產生一個數字集合 

3.可變數

  1. NSMutableArray * array = [[NSMutableArray alloc]initWithObjects:@"one",@"two",@"three",@"four", nil]; 
  2.     [array addObject:@"five"];//在數組尾部插入元素 
  3.     [array insertObject:@"six" atIndex:5];//在數組指定下標位置插入元素(不能越界,***值為length)    
  4.     [array removeObject:@"six"];//刪除指定元素(數組中出現的所有位置都將被刪除) 
  5.     [array removeObject:@"two" inRange:NSMakeRange(0, 3)];//從指定下標位置開始的指定長度內刪除指定元素 
  6.     [array removeLastObject];//刪除***一個元素 
  7.     [array removeAllObjects];//刪除所有元素         
  8.     [array replaceObjectAtIndex:3 withObject:@"ios"];//將指定下標位置元素替換為指定的元素 
  9.     [array exchangeObjectAtIndex:0 withObjectAtIndex:3];//將指定下標的兩個元素進行交換 

4.字符串分割與拼接

  1. //@""   空的字符串對象 
  2.     -------分割 
  3.     NSString * ptr = @"I am a man"
  4.     NSArray * array = [ptr componentsSeparatedByString:@" "];//將字符串整體作為分割條件 返回值為NSArray不可變數組 
  5.     NSMutableArray * array1 = [NSMutableArray arrayWithArray:array];//若修改,則將NSArray轉化為NSMutableArray 
  6.     NSArray * array2 = [ptr componentsSeparatedByCharactersInSet:[NSCharacterSet                                            characterSetWithCharactersInString:@", "]];//以字符串中的字符作為分割條件進行分割 
  7.     《字符集合》 
  8.     NSCharacterSet 這是個字符集合類 
  9.     [NSCharacterSet characterSetWithCharactersInString:@", "]//把字符串轉化為字符集合 
  10.     -------拼接 
  11.     NSString * str = [array componentsJoinedByString:@" "];   
  12.     若分割條件出現在開頭或者結尾,則會出現空串@"",如果不需要,則需要轉化成NSMutableString對空串進行處理 
  13.     func1:  [array1 removeObject:@""];     //找到空串直接刪除 
  14.     func2:  for(id obj in array1){ 
  15.                 if([obj length] == 0)           //空串的長度為0 
  16.                 if([obj isEqualToString:@""])   //與空串進行比較(字符串是不能進行==比較的,要使用函數)        
  17.             } 

 

責任編輯:閆佳明 來源: oschina
相關推薦

2010-10-09 11:43:10

MYSQL字符串

2009-08-07 14:15:21

C#字符串分割

2013-06-24 15:16:29

Java字符串拼接

2013-04-03 10:22:00

iOS開發Objective-C

2009-11-25 09:13:41

PHP數組轉字符串PHP字符串轉數組

2021-05-31 07:57:00

拼接字符串Java

2021-03-08 08:23:24

Java字符串截取

2010-11-26 10:43:48

MySQL分割字符串

2013-03-26 10:08:38

LLVM 4.0語法變LLVM 4.0新特性

2021-12-24 11:59:47

數據結構算法字符串

2024-09-30 11:16:39

C#正則表達式

2011-07-11 16:00:22

字符串拼接

2022-11-25 07:53:26

bash腳本字符串

2010-02-04 10:52:36

C++字符串分割函數

2019-12-25 15:41:50

JavaScript程序員編程語言

2021-10-31 23:01:50

語言拼接字符串

2021-06-11 18:08:00

Java字符串拼接

2010-11-26 13:27:41

MySQL存儲過程

2024-12-23 07:38:20

2023-10-31 18:57:02

Java字符串
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 久久久久久成人 | 欧美视频在线播放 | 天堂一区二区三区 | 亚洲精品综合 | 免费看一级毛片 | 精品国产乱码久久久久久丨区2区 | 91av在线看 | 国产精品久久久久一区二区三区 | 亚洲免费一 | 欧美在线观看免费观看视频 | 亚洲三区在线观看 | 国产欧美一区二区三区日本久久久 | 久久精品视频在线免费观看 | 久久久精品一区 | 国产午夜一级 | 男女网站在线观看 | 欧美成人一区二区三区 | 一区二区精品在线 | 我要看一级片 | 美日韩免费 | 国产精品无 | 99久久精品视频免费 | 欧美一区二区三区在线播放 | 亚洲欧美在线观看视频 | 亚洲一区二区三区四区五区午夜 | 亚洲视频中文字幕 | 91国产在线视频在线 | 粉嫩av久久一区二区三区 | 欧美精品一区在线 | 二区中文| 欧美三级在线 | 国产区精品在线观看 | 一区二区三区四区在线视频 | 欧美午夜一区二区三区免费大片 | 国产精品久久久久久久久久 | 国产欧美日韩在线观看 | 国产日产欧产精品精品推荐蛮挑 | 午夜视频大全 | 精品无码久久久久久国产 | 欧美日韩不卡合集视频 | 久久精品国产v日韩v亚洲 |