Objective c 字典使用

2021-07-05 05:11:43 字數 2014 閱讀 3710

1.所有的key都是乙個字串,鍵 值是成對出現的。且都不能為空,非要為空要使用nsnull。字典是通過key來訪問值的,key valu必須成對出場

2.字典是有鍵-值的資料組合,通過key查詢對於的value,值可以是其他任意的型別,key必須是唯一的。 

3.為什麼要使用字典呢?而不使用陣列?

答?陣列特徵:陣列是按一定順序排列的集合,通過下標去取值(當希望資料室按照一定的順序去排列的時候,選擇用陣列);

字典的特徵:通過key訪問值(獲取乙個標記準確的得到乙個我們想要的值,陣列的話如果下標不知道的話,就無法取到想要的值),key是我們指定的乙個標記。

4.字典初始化:

a.初始化空字典:

nsdictionary *dic = [[nsdictionary alloc]init];

nsdictionary *dic1 = [nsdictionary dictionary];

b.初始化的同時並新增一對鍵、值

nsdictionary *dic = [nsdictionary dictionarywithobject:@"value" forkey:@「key9」];

c.初始化的同時並新增多對值

nsdictionary *str3 = [nsdictionary dictionarywithobjectsandkeys:@"object1",@"key1",@"object2",@"key2",@"object3",@"key3", nil];

d.新寫法

nsdictionary *dic= @;

5.將字典的元素新增到另乙個字典

將dic1中所有的元素新增到dic中

[dic addentriesfromdictionary :dic1];

不能重複是key 替換以後包括值都替換了(新增相同的key 會將原來的value覆蓋掉) 

根據key刪除元素

[dic removeobjectforkey :@「cheng」]

根據多個key刪除多個元素

[dic removeobjectforkey :@[@「cheng」,@「hong」]]

6.字典的取值

1.nsstring *n = [dic5 objectforkey:@「key」];

2.nsstring *n = dic [@「key」];

7.遍歷字典

快速遍歷

比普通遍歷要簡潔

allkeys 是所有key的乙個陣列

count 是得到陣列內有多少個元素

例子:nsdictionary *dic = [nsdictionary dictionarywithobjectsandkeys:@(80),@"語文",@(100),@"數學",@(99),@"英語", nil];

1.for(id n in dic.allkeys)//(記得加上點哦)是利用陣列的思想

2.for (nsstring *key in dic)//也可以直接找出裡面的key。

7.字典巢狀

首先要先取出要哪個值所在的字字典,然後再取出對應的值。

8.可變字典.

和陣列差不多

[nsmutabledictionary *dic =  dictionary];

//通過key設定字典裡面的值(相同的key就替換了)

//通過key移除字典裡面的值(兩個都移除了)

nslog(@"%@",dic);

//和陣列一樣,不能使用這種初始化方式:@;

但可以用新方法輸出dic[@""];。     

使用Objective C建立UUID

uuid是128位的值,它可以保證唯一性。通常,它是由機器本身網絡卡的mac位址和當前系統時間來生成的。uuid是由中劃線連線而成的字串。例如 0a326293 bcdd 4788 8f2d c4d8e53c108b 在宣告檔案中宣告乙個方法 ios import inte ce uuidviewc...

objective c 使用檔案 二

使用路徑 nspathutilities.h nspathutilities.h包含了nsstring的函式和分類擴充套件,它允許你操作路徑名。下面是乙個例子 view plain import import import import import intmain intargc,const ch...

iOS 使用Objective C建立UUID

uuid是128位的值,它可以保證唯一性。通常,它是由機器本身網絡卡的mac位址和當前系統時間來生成的。uuid是由中劃線連線而成的字串。例如 13222f23 c76a 7781 0c12 0293e3b34398.下面這個方法可以生成uuid並以字串的方式進行返回。nsstring create...