OC字典集合-创新互联

用字典能有什么好处?

专注于为中小企业提供网站设计制作、成都网站建设服务,电脑端+手机端+微信端的三站合一,更高效的管理,为中小企业措美免费做网站提供优质的服务。我们立足成都,凝聚了一批互联网行业人才,有力地推动了1000+企业的稳健成长,帮助中小企业通过网站建设实现规模扩充和转变。
  1. 字典是个大容器,它能够储存多个数据

  2. 用字典存储的数据具有一一对应的关系(使用key来标识value)

  3. 字典中一对键值对(key-value)叫做字典中的一个元素,也叫一个条目,只要是对象就可以,不限制类型

  4. 字典是无序的

  5. 字典中的key是唯一的,一个key只能对应一个value,一个value可以对应多个key

创建字典对象:

1.便利构造器(+号方法):

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

dictionaryWithObjectsAndKeys:元素与元素之间用逗号分隔, nil 作为字典结束的标志

2.初始化方法(-号方法):

nitWithObjectsAndKeys:@"qinfen", @"name", @20, @"height", @12, @"age", nil];

initWithObjectsAndKeys:元素与元素之间用逗号分隔, nil 作为字典结束的标志

输出字典时用大括号括着元素显示,如: {
   age = 12;
   height = 20;
   name = qinfen;
}

获取字典元素个数

count方法

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

获取所有的key

allkeys方法

NSArray *key = [dic allKeys];
NSLog(@"%@", key);

输出显示是每个key

根据key获取对应的value

objectForKey:方法

NSString *value = [dic objectForKey:@"name"];
NSLog(@"%@", value);

输出显示的是@"name" 这个key对应的值的内容

字典快速遍历:

快速遍历对于数组来说,遍历得到的是数组中的每一个元素

而对于字典来说,遍历字典得到的是每个key,不是value,也不是key和value,但然后可以通过key获取value

for (NSString *key in dic) {
     //检索到key之后,通过objectForKey:获取对应的value
     NSLog(@"%@", [dic objectForKey:key]);  
}

以上是字典中常用的方法

可变字典NSMutableDictionary

可变字典比字典多了增加,删除,修改的方法

创建可变字典对象

NSMutableDictionary *dic = [NSMutableDictionary dictionaryWithObjectsAndKeys:@"xiaoguang", @"guanggun1", @"xiaomeng", @"guanggun2", @"xiashuai", @"guanggun3", nil];

dictionaryWithObjectsAndKeys:方法

删除元素

[dic removeObjectForKey:@"guanggun1"];

removeObjectForKey:方法,通过查找key,将key和key所对应的value一起删除,即删除了一对键值对

添加元素

[dic setObject:@"chengjie" forKey:@"guanggun1"];

setObject: value元素 forKey: key元素 方法

修改元素

[dic setObject:@"xiaocui" forKey:@"guanggun1"]

setObject: value元素 forKey: key元素 方法 工作原理:

先根据指定的key查找字典中是否存在相同的key,(查找字典中的是否存在指定的key) 如果存在,则修改key对应的value,如果不存在,在字典中添加一个元素,key-value键值对

集合

创建集合对象

便利构造器

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

setWithObjects:方法

初始化方法

NSSet *set2 = [[NSSet alloc] initWithObjects:@"1", @"2", @"3", @"4", @"5", @"1", @"2", @"3", @"4", @"5", nil];

initWithObjects:方法

获取集合元素个数

count方法

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

获取集合中的某个元素

NSString *str1 = [set2 anyObject];

anyObject方法

判断集合中是否包含某个元素

BOOL isExist = [set2 containsObject:@"3"];

containsObject:方法 参数为要查找得元素,返回值为布尔值

可变集合

添加元素

[set3 addObject:@"6"];

addObject:方法

移除元素

[set3 removeObject:@"5"];

removeObject:方法

另外有需要云服务器可以了解下创新互联scvps.cn,海内外云服务器15元起步,三天无理由+7*72小时售后在线,公司持有idc许可证,提供“云服务器、裸金属服务器、高防服务器、香港服务器、美国服务器、虚拟主机、免备案服务器”等云主机租用服务以及企业上云的综合解决方案,具有“安全稳定、简单易用、服务可用性高、性价比高”等特点与优势,专为企业上云打造定制,能够满足用户丰富、多元化的应用场景需求。


当前题目:OC字典集合-创新互联
URL标题:http://pwwzsj.com/article/dijiid.html