Objective-C------NSDictionary、NSMutableDictionary字典对象用法总结

来源:互联网 发布:linux编辑shell脚本 编辑:程序博客网 时间:2024/06/07 22:19
//NSDictionary字典对象--不可变字典/*字典:由键-对象对组成的数据集合,可以是动态的,字典中的记录可以动态的添加和删除,可以用键检索词典或者枚举他们的内容键:必须是单值,一般是字符串,也可以是其他的对象类型值:可以是任何对象类型除了nil*///创建//创建单个字典NSDictionary *dic = [NSDictionary dictionaryWithObject:@"obj" forKey:@"key"];//创建多个字典NSDictionary *dic = [NSDictionary dictionaryWithObjectsAndKeys:@"obj1", @"key1",@"obj2", @"key2",nil]; //根据已有字典创建新的字典      NSDictionary *dic1 = [NSDictionary dictionaryWithDictionary:dic];     //将从新分配的字典初始化为键-对象对     NSDictionary *dic = [[NSDictionary alloc] initWithObjectsAndKeys:@"obj1",@"key1",@"obj2",@"key2",nil];    //特殊语法创建    NSDictionary *dic = @{obj1,key1,obj2,key2,.......};//查找    //返回一个数组包含字典中所有的键    NSArray *arr = [dic allKeys];    //返回一个数组包含字典中所有的值    NSArray *obj = [dic allValues];      //返回字典中的记录数    NSUInteger cnt = [dic count];    //返回指定的Key的对象    id obj = [dic objectForKey:@"key1"];       = dic [@"key1"];//NSEnumerator//依附于集合类(NSArray,NSSet,NSDictionary),没有用来创建实例的接口。//NSEnumerator的nextObject方法可以遍历每个集合元素,结束返回nil,通过与while结合使用可遍历集合中所有项。//对可变数组进行枚举操作时,不能通过添加或删除对象这类方式来改变数组容器。           //为词典中所有的键返回一个NSEnumeraotr对象    NSEnumerator enkey = [dic KeyEnumerator];    //为词典中所有的值返回一个NSEnumeraotr对象    NSEnumerator enobj = [dic objectEnumerator];    //通过枚举快速遍历    id key = [enkey nextObject];      while (key) {          NSLog(@"%@", [enkey objectForKey:key]);          key = [enkey nextObject];      }      //通过块获取词典中的每一条目,当遍历完成或者指针stop=YES结束处理    [dic enumerateKeysAndObjectsUsingBlock:^(id key, id obj, BOOL *stop) {     NSLog(@obj for key %@ is %@”, key, obj);     if ([@“key2” isEqualToString:key]) { *stop = YES; }}    ];    //快速遍历     for(id key in dic) {              NSLog(@"key = %@  obj = %@", key, [dic objectForKey:key]);          }  //NSMutableDictionary字典对象---可变字典//创建    //空的字典    NSMutableDictionary *dic = [NSMutableDictionary dictionary];    //使用一个初始化指定的size创建可变字典    int size = 10 ;    NSMutableDictionary *dic = [NSMutableDictionary dictionaryWithCapacity:size];    NSMutableDictionary *dic = [[NSMutableDictionary alloc] initWithObjectsAndKeys: @"obj1", @"key1", @"obj2", @"key2", nil];//增加//增加新的键值对象      [dic setValue:@"obj3" forKey:@"key3"];      //增加已经存在的字典    [dic addEntriesFromDictionary:dic1];//修改    //用新的字典换旧的字典    [dic setDictionary:dic1];     //向词典为key的键中添加obj,如果key存在则替换该值    [dic setObject:@"obj3" forKey:@"key2"];     dic[@"key2"] = @"obj3";//删除    //根据key删除obj      [dic removeObjectForKey:@"key1"];      //根据key数组删除元素      NSArray *arr = [dic allKeys];    [dic removeObjectsForKeys:arr];    //删除所有元素      [dic removeAllObjects];  //查找

0 0
原创粉丝点击