OC视频笔记(不可变字典常用方法,与优化方法)(可变字典的常用方法)

来源:互联网 发布:唐山网站怎么做seo 编辑:程序博客网 时间:2024/04/19 22:59

字典简介:

Foundation中的字典(NSDictionary和NSMutableDictionary)是有键——值对组成的数据集合。正如我们在字典里查找单词的定义是一样的通过Key(键),查找相应的(Value)值,Key通常是字符串对象,也可以是其他任意类型的对象。在字典中,Key的值必须是唯一的。此外,字典的键和值不可以为空(nil),如果需要在一个字典中表示一个空值,可以使用NSNull对象。字典中的元素是无序的。


所以字典中的Key不能重复添加,如果传入的key相同但是value不同,那么编译器会将后传如的key的value替换掉之前key(两个key必须是相同的情况)对应的value值。


首先不可变字典:

例子中key是字符创,Value是数组

1.字典的创建:

1.1直接创建对象

NSDictionary *dic = 【【NSDictionary alloc】initWithObjectsAndKeys:array1,key1,array2,key2,nil】;(注意键值对的创建时,前面是值,后面是键。可以创建多对,本例就一对)

1.2根据类方法只想字典里面放一个键值对

NSDictionary *dic = 【NSDictionary dictionaryWithObject:array forKey:key】;


2.返回字典中元素个数

【dic count】(也可以用点语法)


3.获取字典里面所有的Key / Value

【dic allKeys】;(也可以用点语法)

【dic allValues】;(也可以用点语法)本例里面的value是数组,所以allValues方法返回的是一个二维数组,二维数组同样是数组对象。

NSArray * array = 【dic allValues】;(这么表示就行,现在array是一个二维数组)


4.通过Key获取Value

【dic objectForKey:key】;




字典的优化语法:

创建字典:

NSDictionary dic = @{key1:value1,key2:value2};(@大括号,键值中间加:,每个键值对中间用逗号隔开)

取value:

NSArray * array = dic【key】;



可变字典的常用方法:

创建:

1.指定空间:

NSMutableDictionary mdic = 【【NSMutableDictionary alloc】 initWithCapacity:数值】;


2.添加元素

2.1动态的添加元素

【mdic setObject:value forKey:key】;

2.2向一个字典里面添加另一个字典里面的元素

【mdic addEntriesFromDictionary:dic】;


3.删除

【mdic removeObjectForKey:key】;根据key删除元素

【mdic removeAllObjects】;清空

【mdic removeObjectForKeys:key1,key2】;



遍历字典:

快速遍历:

for(NSString* str  in  mdic){

       NSArray *value = 【mdic objectForKey:key】;

       NSLog(@“%@%@”,key,value);

}


普通遍历:

首先要得到key

NSArray *keys = 【mdic allKeys】;

for(int i = 0;i<keys.count;i++){

       NSString *key = keys【i】;

       NSArray *value  = mdic【key】;            //这两句都是利用了优化的语法

       NSLog(@“%@%@”,key,value);

}

0 0
原创粉丝点击