码迷,mamicode.com
首页 > 移动开发 > 详细

黑马程序员_学习IOS之字典常用的方法

时间:2014-06-12 06:25:50      阅读:324      评论:0      收藏:0      [点我收藏+]

标签:style   ext   color   strong   使用   数据   

字典是无序的 数组是有序的。字典分为:可变字典和不可变字典


 不可变字典对象


NSDictionary * dict = [[NSDictionary alloc]initWithObjectsAndKeys:@"one",@"1",@"two",@"2",@"three",@"3",@"four",@"4", nil];
//value = key
//初始化必须一一对应 字典的内容是键值对 key->value 内容可以是任意的对象指针
//key 一般是NSString * value 可以是任意对象
//不能出现重复的key key是唯一的

NSDictionary * dict1 = [NSDictionary dictionaryWithDictionary:dict];

NSArray * values = [NSArray arrayWithObjects:@"one",@"two",@"three", nil];
NSArray * keys = [NSArray arrayWithObjects:@"1",@"2",@"3", nil];//key-value要一一对应
NSDictionary * dict2 = [[NSDictionary alloc]initWithObjects:values forKeys:keys];

[dict count]//键值对的个数 键值对必须成对出现
[dict objectForKey:@"5"]//根据key找到对应的value

//创建一个key的枚举器 把字典中key元素地址传给枚举器
NSEnumerator * enumer1 = [dict keyEnumerator];
id obj;
while (obj = [enumer1 nextObject]) {
NSLog(@"%@",[dict objectForKey:obj]);
}

//创建值的枚举器(一般不使用,没有意义)
NSEnumerator * enumer2 = [dict objectEnumerator];
while (obj = [enumer2 nextObject]) {
NSLog(@"%@",obj);
}
//快速枚举 枚举的是key(不能改数据,只能读)
for(id key in dict){
NSLog(@"%@",key);
}

NSArray * array = [urlItemDict allValues];//获取所有value
NSArray * array = [urlItemDict allKeys];//获取所有key------可变字典对象

可变字典对象

NSMutableDictionary * dict = [[NSMutableDictionary alloc]initWithObjectsAndKeys:@"one",@"1",@"two",@"2",@"three",@"3",@"four",@"4", nil];

[dict setObject:@"seven" forKey:@"7"];//增加键值对 key已经存在 则修改value 不存在则添加
[dict setObject:@"nine" forKey:@"1"];//修改value
[dict removeObjectForKey:@"1"];//删除键值对

黑马程序员_学习IOS之字典常用的方法,布布扣,bubuko.com

黑马程序员_学习IOS之字典常用的方法

标签:style   ext   color   strong   使用   数据   

原文地址:http://www.cnblogs.com/xiaobajiu/p/3782762.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!