NSDitionary基本用法

字典是无序的,value和key都必须是对象,key值不能重复,如果重复了最后存入的value将不能存入字典 

创建字典

 

 //类方法创建字典(空字典)  
    NSDictionary *dic = [NSDictionary dictionary];  
  
    //实例方法初始化  
    NSDictionary *dic1 = [[NSDictionary alloc]init];  
      
    //只有一个键值对的字典  
    NSDictionary *ddd = [NSDictionary dictionaryWithObject:@"齐天大圣" forKey:@"wukong"];  
      
    //两两一对,第一个是对象,第二个是key,通过key寻找对应的对象  
    NSDictionary *dic2 = [NSDictionary dictionaryWithObjectsAndKeys:@"value",@"key",@"张超凡",@"ABC",@"大娃",@"def", nil nil];  
      
    //通过key查看字典中的value  
    NSLog(@"%@",[dic2 objectForKey:@"ABC"]);  
      
    NSDictionary *dic3 = [[NSDictionary alloc]initWithObjectsAndKeys:@"value",@"key",@"小黑",@"黑",@"小红",@"红", nil nil];  
      
    //快速创建字典@{key:value}  
    NSDictionary *dddd = @{@"key":@"张三",@"lisi":@"李四"}; 

 

 

//字典的元素个数  
    NSInteger count = [dddd count];  
      
    //取出所有的key值  
    NSArray *arrayKey = [dic3 allKeys];  
      
    //只输出对象  
    for (int i = 0; i < [dic3 count]; i++) {  
        NSLog(@"%@",[dic3 objectForKey:[arrayKey objectAtIndex:i]]);  
    }  
      
    NSLog(@"value = %@",dddd[@"key"]);  

 #pragma mark - 字典遍历

 

 

//快速遍历  
    for (NSString *key in dddd) {  
        NSLog(@"-------%@:%@",key,[dddd objectForKey:key]);  
    }  
      
    //对象和key都输出  
    for (int i = 0; i < [dic3 count]; i++) {  
        NSLog(@"%@:%@",[dic3.allKeys objectAtIndex:i],[dic3 objectForKey:[dic3.allKeys objectAtIndex:i]]);  
    }  
      
    [dddd enumerateKeysAndObjectsUsingBlock:^(id  _Nonnull key, id  _Nonnull obj, BOOLBOOL * _Nonnull stop) {  
        NSLog(@"+++++key = %@:value = %@",key,obj);  
    }];  

 

 

//字典写入文件  
    BOOL isWrite = [dddd writeToFile:@"/Users/game23-3/Desktop/dic.plist" atomically:YES];  
    if (isWrite) {  
        NSLog(@"写入成功");  
    }  
      
    //从文件中读取字典  
    NSDictionary *readDic = [NSDictionary dictionaryWithContentsOfFile:@"/Users/game23-3/Desktop/dic.plist"];  
    NSLog(@"--------%@",readDic);  

 #pragma mark - 可变字典

 //类方法初始化  
    NSMutableDictionary *mutableDic = [NSMutableDictionary dictionary];  
      
    NSMutableDictionary *muDic = [NSMutableDictionary dictionaryWithCapacity:3];  
      
    //添加  
    [mutableDic setValue:@"adc" forKey:@"快挂了"];  
      
    //删除(根据key移除对象)  
    [mutableDic removeObjectForKey:@"快挂了"];  
      
    //删除全部  
    [mutableDic removeAllObjects];  
  
    //修改  
    [mutableDic setObject:@"ttt" forKey:@"快挂了"];  
  
    //查找  
    if ([mutableDic.allKeys containsObject:@"快挂了"]) {  
        NSLog(@"存在这个key");  
    }  

 

posted @ 2016-03-01 16:36  Naruto_2  阅读(206)  评论(0)    收藏  举报