91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

字典和集合的常用用法

發布時間:2020-06-21 12:10:59 來源:網絡 閱讀:473 作者:li你不知道 欄目:開發技術

首先說幾個OC里快速生成對象的幾個方法(即語法糖):
(1) @ + 數字  即快速將基本數據類型轉換為NSNumber類型的對象,如:@20, (@后面直接跟了一個確切的數字) 如果是一個變量即 int a = 10 ,則為:@(a)
(2)  數組對象 =  @ + [ ](中括號里的內容時對象), 快速創建數組對象 例如:NSArray *arr =  @[@"name",@"number",@22,@7];  這樣創建的數組是不可改變的數組
(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,創建字典對象
        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,創建字典對象
       
        便利構造器  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,創建一個集合對象
        (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,創建一個集合對象   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);
  

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

民丰县| 龙川县| 哈尔滨市| 蒲城县| 西乌珠穆沁旗| 旬邑县| 桑植县| 修武县| 始兴县| 法库县| 离岛区| 筠连县| 太谷县| 花垣县| 集安市| 九寨沟县| 建瓯市| 友谊县| 宜川县| 铁岭县| 尖扎县| 乌兰浩特市| 万源市| 河北区| 芜湖市| 阳西县| 台湾省| 崇阳县| 顺昌县| 蒲城县| 荣昌县| 平罗县| 彰化市| 池州市| 西昌市| 梁平县| 庐江县| 西盟| 云南省| 巴林左旗| 泽普县|