OC中字典dictrionary的应用

来源:互联网 发布:冰岛 知乎 编辑:程序博客网 时间:2024/05/23 00:01
字典的原理:
     与java中的hashmap功能相同
     
     key ---> value
     
     字典中存储的都是键值对


一、dictionary
创建字典方法1:
     NSArray *keys = @[@"name", @"address"];
     NSArray *objects = @[@"jack", @"tianjin"];
     
     NSDictionary *dict = [NSDictionary dictionaryWithObjects:objects forKeys:keys];


创建字典方法2:编译器特性    
    NSDictionary *dict = @{@"name" : @"jack",
                           @"address" : @"tianjin",
                           @"QQ" : @"312353"
                           };
    
    id obj = [dict objectForKey:@"name"];
    
    NSLog(@"%@", obj);


二、mutableDictionary
    NSMutableDictionary *dict = [NSMutableDictionary dictionary];
    
    //添加键值对
    [dict setObject:@"jack" forKey:@"name"];
    [dict setObject:@"342345" forKey:@"QQ"];
    
    //移除键值对
    //[dict removeObjectForKey:<#(id)#>];
    
    //打印字典:打印所有的键值对
    NSLog(@"%@",dict);


三、字典的遍历:
    //字典不允许有相同的key,但是允许有相同的value
    //字典是无序的
    NSDictionary *dict = @{
    @"name" : @"jack",
    @"name2" : @"jack",
    @"address" : @"tianjin",
    @"QQ" : @"312353"};
遍历1:
    NSArray *keys = [dict allKeys];
    for (int i = 0; i < dict.count; i++)
    {
        NSString *key = keys[i];
        NSString *object = dict[key];
        
        NSLog(@"%@ - %@", key, object);
    }


遍历2:    
    [dict enumerateKeysAndObjectsUsingBlock:
     ^(id key, id obj, BOOL *stop) {
        NSLog(@"%@ - %@", key , obj);

    }];


0 0