黑马程序员技术交流社区
标题:
第一次学习ios,dictionary的笔记
[打印本页]
作者:
胡胡胡胡胡
时间:
2014-11-10 14:46
标题:
第一次学习ios,dictionary的笔记
NSDictionary
通过一个 key ——> value
字典中存储的是键值对(key,object)。
NSDictionary *dict = [NSDictionary dictionaryWithObject:@"jack" forkey:@"name"]; (不可变,
单个元素
)
取出object
id obj = [dict objectForKey:@"name"]; // 此时将name对应的jack赋值给obj。
简便方法:
id obj = dict[@"name"];
创建不可变字典
NSDictionary *dict1 = [NSDictionary dictionaryWithObjects: NSArray * forkers: NSArray *];(
多个元素
,可以建立两个array数组,一个存放object 一个存放key , 两个数组元素一一对应,
不实用
)
NSDictionary *dict = [NSDictionary dictionaryWithObjectAndKeys:@"一个对象",@"一个key",@"一个对象",@"一个key",nil]; (一个对象一个key,
可读性不好,不实用
)
快速创建NSDictionary方法 (
快速创建一个array的方法是@[];
)
NSDictionary *dict = @{
@"一个key":@"一个对象",
@"一个key":@"一个对象"}
(多个元素,
常用
)
元素的个数
dict.count; // 计算的是键值对,一个key和一个对象算为一个。
NSMutableDictionary
NSMutableDictionary *dict = [NSMutableDictionary dictionary];
添加键值对
[dict setObject:@"jack" forKey:@"name"];
[dict setObject:@"北京" forKey:@"address"];
[dict setObject:@"jack1" forKey:@"name"];
Object可以重复 key不可以重复
如果key重复 后边的key对应的object的值将覆盖上边该key所对应的object
删除键值对
[dict removeObjectForKey:@"name"];
删除name对应的object。
打印字典
NSLog(@"%@",dict); //
会打印出字典中所有的键值对
。
字典的遍历
NSDictionary *dict = @{@"name":@"jack",@"qq":@"34125151"};
1> for循环
NSArray *keys = [dict allkeys]; // 拿出所有的key
for(int i = 0; i
{
NSString *key = keys
;
NSString *object= dict[key];
NSLog(@"%@--%@", key, object)
}
字典是无序的
,所以打印结果是无序的。
2>使用block
[dict enumerateKeysAndObjectUsingBlock:
^(id key, id obj, BOOL *stop){
NSLog(@"%@---%@", key, obj);
}]
和NSArray的block遍历一样。
作者:
胡胡胡胡胡
时间:
2014-11-10 14:47
这些发怒的表情我也是醉了。。。。:L
作者:
hgzlpmg
时间:
2014-11-10 15:27
哈哈哈啊啊啊啊
作者:
直到世界的尽头
时间:
2014-11-10 15:44
我只是来水点黑马币的
作者:
胡胡胡胡胡
时间:
2014-11-10 15:47
直到世界的尽头 发表于 2014-11-10 15:44
我只是来水点黑马币的
:Q技术分怎么办啊
作者:
geng
时间:
2014-11-11 12:11
完全看不懂 哈哈
作者:
kale
时间:
2014-11-11 13:19
代码中那么多的表情是要闹哪样
作者:
我不明白
时间:
2014-11-11 13:28
这是干嘛?
作者:
zhao190109
时间:
2014-11-11 14:51
抓紧时间写到技术博客吧。。
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2