黑马程序员技术交流社区

标题: ios字典怎样获取其中的键和值 [打印本页]

作者: 上帝的天使    时间: 2016-6-1 00:17
标题: ios字典怎样获取其中的键和值
怎样重写它的打印格式。
作者: jdc123    时间: 2016-6-1 11:25
不知道哎,同问,顶一下帖
作者: VamCriss    时间: 2016-6-3 18:00
NSDictionary在已知key值的情况下获取所对应object的方法有:

1,调用objectForKey方法

// 在这里  zs 就是key值, object就是该key值所对应的对象
NSString *object = [stringsDictionary objectForKey: @"zs" ];   

2,快捷获取key所对应的object

//quickCreateDictionary是自己创建的一个字典对象,下标zh是key值。这种方法看起来有点像数组的表达形式
NSLog(@"%@",quickCreateDictionary[@"zh"]);


当知道object,想找对应的key值时:

//调用allKeyForObject方法,用数组keyArray保存字典quickCreateDictionary中object值为”haha“所对应的key值
NSArray *keyArray = [quickCreateDictionary allKeysForObject:@"haha"];


key和object都不知道的时候可以用遍历输出key和object:

1,采用加强的for循环语句遍历字典

//字符串对象key保存字典中的key值,[quickCreateDictionary objectForKey:key]返回key所对应的object值
for (NSString *key in quickCreateDictionary) {
        NSLog(@"%@--> %@"key,[quickCreateDictionary objectForKey:key]);
    }

2,调用enumerateKeysAndObjectsUsingBlock:^(...),

//enumerateKeysAndObjectsUsingBlock:^(...)这是一个block模块,其中key是关键字,obj是key值所对相应的object,stop是一个BOOL变量,判断是否停止

    [quickCreateDictionary enumerateKeysAndObjectsUsingBlock:^(id  _Nonnull key, id  _Nonnull obj, BOOL * _Nonnull stop) {
        NSLog(@"%@-->%@"key,obj);
    }];


这上面是我最常用的几个获取键值的方法。
以及输出方法,希望能帮到你





欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2