欧美一区二区三区老妇人-欧美做爰猛烈大尺度电-99久久夜色精品国产亚洲a-亚洲福利视频一区二区

OC字典和集合的常用用法-創(chuàng)新互聯

首先說幾個OC里快速生成對象的幾個方法(即語法糖):

專注于為中小企業(yè)提供成都網站建設、成都網站設計服務,電腦端+手機端+微信端的三站合一,更高效的管理,為中小企業(yè)白云鄂免費做網站提供優(yōu)質的服務。我們立足成都,凝聚了一批互聯網行業(yè)人才,有力地推動了上1000家企業(yè)的穩(wěn)健成長,幫助中小企業(yè)通過網站建設實現規(guī)模擴充和轉變。

(1) @ + 數字 即快速將基本數據類型轉換為NSNumber類型的對象,如:@20, (@后面直接跟了一個確切的數字) 如果是一個變量即 int a = 10 ,則為:@(a)

(2) 數組對象 = @ + [ ](中括號里的內容時對象), 快速創(chuàng)建數組對象 例如:NSArray *arr = @[@"name",@"number",@22,@7]; 這樣創(chuàng)建的數組是不可改變的數組

(3) 數組名 + [下標] 快速獲取數組下標對應的元素, 如: arr[1] 就是獲取數組arr中的第二個元素number

 一, 字典

字典: 也是一個大容器,用來存儲多個數據,而且存儲的數據具有一一對應關系,(使用key來標識value值) ,字典里的key是唯一的,一個key只能對應一個value,但是一個value可以對應多個key.對于字典的一對鍵值對(即key-value)叫做字典的一個元素,也叫做一個條目,它存儲的內容不限制對象類型,但是只能用來存儲對象同時字典是無序的,

  (一), 不可改變字典  NSDictionary

這里以下的例子都以

NSDictionary *dic = [NSDictionary dictionaryWithObjectsAndKeys:@"Lili",@"name",@20,@"height",@12,@"age", nil];

       NSLog(@"%@",dic); 為例,不再贅述

1,創(chuàng)建字典對象

       1),便利構造器    dictionaryWithObjectsAndKeys:

       NSDictionary *dic = [NSDictionary dictionaryWithObjectsAndKeys:@"Lili",@"name",@20,@"height",@12,@"age", nil];

       NSLog(@"%@",dic);

       2),初始化方法    initWithObjectsAndKeys:

       NSDictionary *dic1 = [[NSDictionary alloc] initWithObjectsAndKeys:@"Lili",@"name",@20,@"height",@12,@"age", nil];

       NSLog(@"%@",dic1);

2,求字典元素個數 count 其實 count 這個方法在數組里,在字典里,在集合里都有,并且都是用來計算相應容器(數組,字典,集合等)的元素個數

       NSUInteger count = [dic count];

       NSLog(@"%lu",count);

3,獲取所有的key     allKeys

       NSArray *keys = [dic allKeys];

       NSLog(@"%@",keys);

 4,根據key獲取對應的value   objectForKey: 返回值為字符串對象 這里objectForKey后面沒有加s 說明只是取出其中的一個元素,而不是全部,即體現了OC里方法名的見名知意,我們在學習過程中可以根據方法名大概猜測出方法的實現內容

       NSString *name = [dic objectForKey:@"name"];

       NSLog(@"%@",name);

       NSNumber *age = [dic objectForKey:@"age"];

       NSLog(@"%@",age);

       NSNumber *height = [dic objectForKey:@"height"];

       NSLog(@"%@",height);

 下面一個例子是把字典里的key的對應值都取出來存在一個數組里 allValues 返回值是數組對象

       NSArray *values = [dic allValues];

       NSLog(@"%@",values);

5,字典快速遍歷;

      forin在遍歷數組時,遍歷的是數組中的每個元素, 在對字典快速遍歷時,遍歷的是字典中的key,然后通過key獲取對應的value值 因此forin 里type對應的類型是key對應的對象類型

       for (NSString *dic1 in dic) {

           //檢索到key時,通過objectForKey:獲取對應的value值

           NSLog(@"%@",[dic objectForKey:dic1]);

       }

(二),可改變字典       NSMutableDictionary

1,創(chuàng)建字典對象

       便利構造器 dictionaryWithObjectsAndKeys:

       NSMutableDictionary *mudic =[NSMutableDictionary dictionaryWithObjectsAndKeys:@"Lili",@"name1",@"Frank",@"name2",@12,@"age1",@14,@"age2", nil];

2,求字典元素個數 count

       NSLog(@"%lu",[mudic count]);

3,刪除元素 removeObjectForKey: 給定一個key值刪除對應的value值,

                  removeAllObjects 刪除所有條目

       [mudic removeObjectForKey:@"name2"];

       NSLog(@"%@",mudic);

       [mudic removeAllObjects];

       NSLog(@"%@",mudic);

4,添加元素   setObject: forKey:

       [mudic setObject:@"Duke"forKey:@"name3"];

       NSLog(@"%@",mudic);

 5,修改key對應的value  setObject: forKey: 跟添加元素是同一個方法

       在這里setObject:forKey: 根據指定的key查找是否有對應的value如果沒有就添加進去即添加元素,若存在該key對應的value則將其修改為指定的value值,即修改對應的value

       [mudic setObject:@"Frank"forKey:@"name3"];

       NSLog(@"%@",mudic);

     (三)NSSet不可變集合

集合也是一個大容器,具有確定性,唯一性,無序性   .里面可以存儲任何類型的對象

1,創(chuàng)建一個集合對象

       (1)b便利構造器  setWithObjects:

       NSSet *set1 = [NSSet setWithObjects:@"1",@"2",@"3",@"4",@"age1",@14,@"age2", nil];

       NSLog(@"%@",set1);

       (2)初始化方法 initWithObjects:

       set1 = [[NSSetalloc] initWithObjects:@"1",@"2",@"3",@"4",@"5",@"6", nil];

       NSLog(@"%@",set1);

2,獲取集合中的某個元素 anyObject 第一次隨機取出一個元素后,再多次取出,每次都和第一次取出的一樣

       NSString *set = [set1 anyObject];

       NSLog(@"%@",set);

       NSString *set5 = [set1 anyObject];

       NSLog(@"%@",set5);

       NSString *set2 = [set1 anyObject];

       NSLog(@"%@",set2);

       NSString *set3 = [set1 anyObject];

       NSLog(@"%@",set3);

       NSString *set4 = [set1 anyObject];

       NSLog(@"%@",set4);

3,獲取元素個數 count

       NSLog(@"%lu",[set1 count]);

4,判斷集合中是否包含某個對象 containsObject:

       NSLog(@"%d",[set1 containsObject:@"1"]);

       (四),可改變集合  NSMutableSet

1,創(chuàng)建一個集合對象  setWithObjects:

       NSMutableSet * muset = [NSMutableSet setWithObjects:@"1",@"2",@"3",@"4",@"age1",@14,@"age2", nil];

1,添加元素   addObject:

       [muset addObject:@"88"];

       NSLog(@"%@",muset);

2,刪除元素  removeObject:

       [muset removeObject:@"88"];

       NSLog(@"%@",muset);

另外有需要云服務器可以了解下創(chuàng)新互聯scvps.cn,海內外云服務器15元起步,三天無理由+7*72小時售后在線,公司持有idc許可證,提供“云服務器、裸金屬服務器、高防服務器、香港服務器、美國服務器、虛擬主機、免備案服務器”等云主機租用服務以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡單易用、服務可用性高、性價比高”等特點與優(yōu)勢,專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應用場景需求。

分享標題:OC字典和集合的常用用法-創(chuàng)新互聯
本文地址:http://chinadenli.net/article20/shhco.html

成都網站建設公司_創(chuàng)新互聯,為您提供全網營銷推廣網站內鏈動態(tài)網站品牌網站建設網站建設關鍵詞優(yōu)化

廣告

聲明:本網站發(fā)布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創(chuàng)新互聯

成都app開發(fā)公司