国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 系統 > iOS > 正文

IOS開發之OC篇(4)—— NSDictionary和NSMutableDictionary

2019-11-09 14:30:55
字體:
來源:轉載
供稿:網友

版本

Xcode 8.2.1

一、不可變字典NSDictionary

字典就是,key和value成對相對應地存入dictionary。key為字符串,value為所有對象Object,可以是string、array等等。

    //創建:value1,key1,value2,key2...,(key和value成對出現)

    //value:OC的任何對象都可以,

    NSDictionary *dic11 = [NSDictionary dictionaryWithObjectsAndKeys:@"aabbb",@"1",@"dddeee",@"2",nil];

    NSLog(@"dic = %@",dic11);

    

    //key1:value1,key2:value2...

    //@{}只能用于創建不可變字典

    NSDictionary *dic1 = @{@"One":@"11",@"Two":@"22",@"Three":@"22"};

    NSLog(@"dic1 = %@",dic1);

    

    //通過key值訪問value值

    NSString *strDic = [dic1 valueForKey:@"Two"];

    NSLog(@"strDic = %@",strDic);

    

    //訪問value,dic [key]

    NSString *strDic1 = dic1[@"Two"];

    NSLog(@"strDic1 = %@",strDic1);

    

    //遍歷字典,遍歷key值

    NSArray *keyArr = [dic1 allKeys];

    for(NSString *keyin keyArr) {

        NSLog(@"key = %@",key);

    }

    

    //通過value,獲取具有相同value的key array

    NSArray *keyArr1 = [dic1 allKeysForObject:@"22"];

    

    //遍歷Value值,返回所有的Value值

    NSArray *valArr = [dic1 allValues];

    for(id valuein valArr) {

        NSLog(@"value = %@",value);

    }

    

    //默認遍歷key值

    for(id objin dic1) {

        NSLog(@"obj = %@",dic1[obj]);

    }

二、可變字典NSMutableDictionary

//實例化一個空的可變字典

    NSMutableDictionary *dic2 = [NSMutableDictionary dictionary];

 //   NSMutableDictionary *dic2 = [[NSMutableDictionary alloc]init];

    

    //通過一個數組實例化一個可變字典

    NSMutableDictionary *dic3 = [NSMutableDictionary dictionaryWithObjects:@[@"1",@"2",@"3"] forKeys:@[@"One",@"Three",@"Three"]];

    NSLog(@"dic3 = %@",dic3);

    

    //添加元素(當字典內不存在此key值)

    [dic3 setObject:@"4" forKey:@"Four"];

    

    //修改value值(當字典內存在此key值)

    [dic3 setObject:@"11" forKey:@"One"];

    

    //通過key值獲取value值

    NSString *rstr = [dic3 valueForKey:@"Two"];//dic3[@"Two"];

    

    //刪除,刪除鍵值對

    [dic3 removeObjectForKey:@"One"];

    

    //刪除所有數組中含有的key值的鍵值對

    [dic3 removeObjectsForKeys:@[@"Four",@"Three"]];

    

    //刪除所有鍵值對

    [dic3 removeAllObjects];

NSArray栗子:

先創建一個plist文件,并取名dict3,等下我們將通過這個名字來查找內容:

填入key和value:

然后來到main方法:

int main(int argc, char * argv[]) {        //@{}只能用于創建不可變字典(注意:先key后value)    NSDictionary *dict1 = @{@"role":@"Invincible Eastern",@"age":@"30",@"sex":@"male&female"};    NSLog(@"%@",dict1);        //value:OC的任何對象都可以(注意:先value后key)    NSDictionary *dict2 = [NSDictionary dictionaryWithObjectsAndKeys:@"the monkey king",@"role",@"500",@"age",@"male",@"sex", nil];    NSLog(@"%@",dict2);        //查plist文件    NSDictionary *dict3 = [NSDictionary dictionaryWithContentsOfFile:[[NSBundle mainBundle] pathForResource:@"dict3" ofType:@"plist" ]];    NSLog(@"%@",dict3);    NSLog(@"%@",dict3[@"role"]);        //訪問value    NSLog(@"%@",[dict2 valueForKey:@"age"]);    NSLog(@"%@",[dict2 objectForKey:@"age"]);    NSLog(@"%@",dict2[@"age"]);        //遍歷value    NSArray *valArr = [dict2 allValues];    for(id value in valArr){        NSLog(@"value = %@",value);    }        //獲取具有相同value的key array    NSArray *keyArr1 = [dict2 allKeysForObject:@"500"];    NSLog(@"500的key為%@",keyArr1);        //遍歷key    NSArray *keyArr2 = [dict2 allKeys];    for(id value in keyArr2){        NSLog(@"key = %@",value);    }        //默認遍歷keu    for(id value in dict2){        NSLog(@"obj = %@",dict2[value]);    }}結果如下:

NSMutableDictionary栗子:

int main(int argc, char * argv[]) {        //實例化一個可變字典    NSMutableDictionary *dic1 = [NSMutableDictionary dictionary];    //NSMutableDictionary *dic1 = [[NSMutableDictionary alloc]init];    NSLog(@"dic1 = %@",dic1);        //通過一個數組實例化一個可變字典    NSMutableDictionary *dic2 = [NSMutableDictionary dictionaryWithObjects:@[@"Invincible Eastem",@"30"] forKeys:@[@"role",@"age"]];    NSLog(@"dic2 = %@",dic2);        //添加元素(當字典內不存在此key值)    [dic2 setObject:@"male" forKey:@"sex"];    NSLog(@"sex = %@",dic2);        //修改value值(當字典內存在此key值)    [dic2 setObject:@"female" forKey:@"sex"];    NSLog(@"sex = %@",dic2);        //通過key值獲取value值    NSLog(@"sex = %@",[dic2 valueForKey:@"sex"]);    NSLog(@"sex = %@",dic2[@"sex"]);        //刪除鍵值對    [dic2 removeObjectForKey:@"role"];    [dic2 removeObjectsForKeys:@[@"role",@"age"]];        //刪除所有鍵值對    [dic2 removeAllObjects];    NSLog(@"sex = %@",dic2);}輸出結果:


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 慈溪市| 孟村| 铁岭县| 桓仁| 交口县| 德安县| 丹江口市| 梁平县| 金门县| 鹿泉市| 开封市| 从江县| 蒙自县| 天柱县| 德格县| 邹城市| 海晏县| 桑日县| 七台河市| 通州区| 保山市| 虹口区| 乌鲁木齐县| 温泉县| 宁乡县| 安图县| 龙南县| 剑河县| 县级市| 渝中区| 巴塘县| 班玛县| 丰顺县| 金溪县| 隆化县| 凉城县| 盐源县| 西充县| 苍溪县| 兴业县| 天水市|