OC中的NSMutableDictionary

来源:互联网 发布:程序员入门 编辑:程序博客网 时间:2024/06/14 01:40
#import <Foundation/Foundation.h>

int main(int argc, const char * argv[]) {
    @autoreleasepool {
      //可变字典 NSMutableDictionary
        //1.初始化方法
        //创建一个空的字典
        NSMutableDictionary *mDictionary=[NSMutableDictionary description];
        //创建一个有单个键值的可变字典
        NSMutableDictionary *mDictionary2=[NSMutableDictionary dictionaryWithObject:@"Mike" forKey:@"name"];
        //创建一个有多个键值对的可变字典
        NSMutableDictionary *mDictionary3=[NSMutableDictionary dictionaryWithObjectsAndKeys:@"Rick",@"name",@24,@"age",@"GZ",@"address", nil];
        
        //通过另一个字典创建一个字典
        NSMutableDictionary *mDictionary4=[NSMutableDictionary dictionaryWithDictionary:mDictionary3];
        //使用枚举器
        NSEnumerator *enumerator=[[mDictionary4 allKeys]objectEnumerator];
        NSString *key;
        while (key==[enumerator nextObject]) {
            NSLog(@"%@ = %@",key,mDictionary4[key]);
        }
        // 可变字典独有的初始化方法
        NSMutableDictionary *mDictionary5=[NSMutableDictionary dictionaryWithCapacity:10];
        //创建了初始大小为10个键值对的可变字典。同样的,参数 num 只是初始的小大,提高程序效率,并没有限制字典的大小,如果继续往里面添加数据,字典的元素个数会继续增加。。
        //从本地读取字典
        NSMutableDictionary *mDictionary6=[NSMutableDictionary dictionaryWithContentsOfFile:@""];
        //从网络读取字典
        NSMutableDictionary *mDictionary7=[NSMutableDictionary dictionaryWithContentsOfURL:[NSURL URLWithString:@""]];
        //操作字典
        //增
        [mDictionary5 setValue:@"Jack" forKey:@"name"];
        [mDictionary5 setValue:@25 forKey:@"age"];
        //改(如果原来字典中已有了key这个关键字,那么这次新加的值就会覆盖掉原来关键字(键)key 对应的值)
        [mDictionary5 setValue:@"Rick" forKey:@"name"];
        //新语法改
        mDictionary5[@"name"]=@"leo";
        //删除指定key的对象
        [mDictionary5 removeObjectForKey:@"name"];
        //删除所有的对象
        [mDictionary5 removeAllObjects];
        
        NSLog(@"dic5=%@",mDictionary5);
        //例子
        NSMutableDictionary *mDictionary8=[NSMutableDictionary dictionaryWithObjectsAndKeys:@"Rick",@"name1",@25,@"age",@"GZ",@"address",@"Rick",@"name2",@"Rick",@"name3", nil];
        NSEnumerator *enumerator1=[mDictionary8.allKeys objectEnumerator];
        NSString *key1;
        while (key1=[enumerator1 nextObject]) {
            NSLog(@"%@=%@",key1,mDictionary8[key1]);
        }
        
//        NSArray *keyD8=mDictionary8.allKeys;
//        for (NSString *key in keyD8) {
//            NSString *string;
//            if ([mDictionary8[key]isKindOfClass:[NSNumber class]]) {
//                int a=[mDictionary8[key] intValue];
//                string=[NSString stringWithFormat:@"%d",a];
//            }
//            else
//            {
//                string=mDictionary8[key];
//            }
//        if ([string isEqualToString:@"Rick"]) {
//            NSLog(@"key = %@",key);
//        }
//    }
          
        
       
        
       
        
        
        
    }
    return 0;
}

0 0
原创粉丝点击