你的位置:首页 > 操作系统

[操作系统]OC中的字典NSDictionary


==========================

字典

==========================

NSDictionary * dict = [[NSDictionary alloc] initWithObjectsAndKeys:@"One", @"1", @"Two", @"2", @"Three", @"3", @"One",  @"4", nil];

        //字典中的数据以键值对的方式进行存储

        //@“One”和@“1”组成了一个键值对

        //@“1”称为键(key)

        //@“One”称为值(value)

        //值是需要存储的数据,键是寻找数据的索引

        //字典的作用,就是通过键,快速的查找到值。

        //值可以重复,键是唯一的。

        //字典中的键值对没有顺序,没有所谓第一个键值对,第二个键值对

        //键和值都是任意对象,字典中存储对象的地址。不过键往往使用字符串

        NSDictionary * dict2 = @{@"4" : @"Four", @"1" : @"One", @"2" : @"Two", @"3" : @"Three"};

        NSLog(@"%@", dict);

        NSLog(@"%@", dict2);

        //通过传入键,返回值的地址

        NSString * value = [dict objectForKey:@"3"];

        value = dict[@"3"];

        //Xcode 4.6 以后

        //如果没有对应的键,返回nil

        NSLog(@"%@", value);

          //返回键值对总数

        NSUInteger count = [dict count];

        NSLog(@"%lu", count);

        //返回所有的键

        NSArray * keys = [dict allKeys];

        //返回所有的值

        NSArray * values = [dict allValues];

        //遍历字典

        for (NSString * key in dict) {

            //每次循环key指向一个键

            //通过遍历键,间接遍历了值

            NSLog(@"%@", dict[key]);

        }

        NSMutableDictionary * mutableDict = [[NSMutableDictionary alloc] init];

        //重置字典

        [mutableDict setDictionary:@{@"1" : @"One", @"2" : @"Two", @"3" : @"Three"}];

        //增

        [mutableDict setObject:@"Four" forKey:@"4"];

        //删

        //通过键删除值

        [mutableDict removeObjectForKey:@"3"];

        //通过多个键,删除多个值

        [mutableDict removeObjectsForKeys:@[@"1", @"2", @"3"]];

        //删除所有键值对

        [mutableDict removeAllObjects];

ΔOC是一门非常优美的语言,名字基本上都是单词的组合,通过名字可以了解这个方法或者这个变量的作用;