NSDictionary NSMutableDictionary

来源:互联网 发布:asp.net 明细数据输入 编辑:程序博客网 时间:2024/05/29 09:14

NSDictionary

//key - value 键值对        //初始化        NSDictionary *dictionary1 = [[NSDictionary alloc] initWithObjectsAndKeys:@"one",@"1",@"two",@"2", nil];        NSLog(@"%@",dictionary1);       // NSDictionary *dictionary2 = [NSDictionary dictionaryWithObjectsAndKeys:<#(nonnull id), ...#>, nil]        //字典的快速生成        NSDictionary *dictionary3 = @{@"1":@"one",@"2":@"two"};        NSLog(@"%@",dictionary3);        //键值对的个数       NSLog(@"%ld", dictionary1.count);        //查询一个对象        NSLog(@"obj = %@",[dictionary1 objectForKey:@"2"]);        NSLog(@"obj1 = %@",dictionary1[@"2"]);        //取出所有的key        NSArray *keys = dictionary1.allKeys;        //取出所有的对象        NSArray *values = dictionary1.allValues;        NSLog(@"%@",values);

字典的遍历

    /
/因为字典是以key-value形式存在,所以不可以直接遍历出一对,只能keys 或 value        //字典是无序的        for (int i = 0; i <dictionary1.count ; i++) {            id key = keys[i];            NSLog(@"%@",dictionary1[key]);        }        //根据key,遍历所有的value        for (id object in dictionary1) {            NSLog(@"%@",dictionary1[object]);        }        for (id object in keys) {            NSLog(@"%@",dictionary1[object]);        }

NSMutableDictionary

     NSMutableDictionary *mutableDic = [NSMutableDictionary dictionaryWithObjectsAndKeys:@"one",@"1",@"two",@"2", nil];        //增:添加没有顺序        [mutableDic setObject:@"three" forKey:@"3"];        //删        [mutableDic removeObjectForKey:@"2"];        //查        [mutableDic objectForKey:@"3"];        //改(根据key将原来的覆盖掉)        //setobject...forkey方法,如果字典中没有添加的这个Key,就做添加处理,如果有,当修改处理        //  字典数组嵌套        NSArray *dataArr = @[@"a",@[@"ada",@"anie"],                             @{@"book":@[@"math",@"english",@"chinese"]                               }                             ];        NSLog(@"chinese:%@",[[[dataArr objectAtIndex:2] objectForKey:@"book"] objectAtIndex:2]);        //  dataArr[2][@"book"][2]         NSLog(@"%@",dataArr[1][1]);
0 0