`

NSDictionary用法

 
阅读更多

介绍的api

 

//
//  main.m
//  NSDiconary
//
//  Created by ganchaobo on 13-4-29.
//  Copyright (c) 2013年 ganchaobo. All rights reserved.
//
 
#import <Foundation/Foundation.h>
void  CreateDic(){
    //第一种创建字典,创建多个key-value
    NSDictionary *dic=[NSDictionary dictionaryWithObjectsAndKeys:@"k1",@"v1"
                       ,@"k2",@"v2",@"k3",@"v3", nil];
    //NSLog(@"%@",dic);
    //第二种创建字典 创建一对 key-value
    NSDictionary *dic1=[NSDictionary dictionaryWithObject:@"VV" forKey:@"KK"];
  //  NSLog(@"%@",dic1);
    //第三种创建多对间值
    NSArray *key=[NSArray arrayWithObjects:@"K1",@"K2",@"K3", nil];
    NSArray *value=[NSArray arrayWithObjects:@"V1",@"V2",@"V3", nil];
    NSDictionary *dic2=[NSDictionary dictionaryWithObjects:key forKeys:value];
     
    //NSLog(@"%@",dic2);
    NSDictionary *dic3=[NSDictionary dictionaryWithDictionary:dic2];
    NSLog(@"%@",dic3);
}
 
void DicMethod(){
    NSDictionary *dic=[NSDictionary dictionaryWithObjectsAndKeys:@"K1",@"V1",@"K2",@"V2",@"K3",@"V3", nil];
     NSDictionary *dic1=[NSDictionary dictionaryWithObjectsAndKeys:@"K1",@"V1",@"K1",@"V2",@"K3",@"V3", nil];
    NSLog(@"%zi",[dic count]);//字典种右多少对key-value
    NSLog(@"%@",[dic allKeys]);//字典种的所有keys
    NSLog(@"%@",[dic allValues]);//字典中所有的values
    NSLog(@"%i",[dic isEqualToDictionary:dic1]);
    NSLog(@"%@",[dic objectForKey:@"V1"]);
    NSArray *arr=[dic1 allKeysForObject:@"K1"];//通过value找对应多个key
     
    NSArray *arr1=[NSArray arrayWithObjects:@"V1",@"V2",@"VG", nil];
    NSArray *ARR= [dic objectsForKeys:arr1 notFoundMarker:@"BB"];
    NSLog(@"%@",ARR);
     
     
}
 
void WriteFile(){
 
     
    NSDictionary *dic=[NSDictionary dictionaryWithObjectsAndKeys:@"k1",@"v1",@"k2",@"v2", nil];
    [dic writeToFile:@"/Users/ganchaobo/Desktop/2.txt" atomically:YES];
     
}
void ReadFile(){
    NSDictionary *dic=[NSDictionary dictionaryWithContentsOfFile:@"/Users/ganchaobo/Desktop/2.txt"];
    NSLog(@"%@",dic);
}
 
 
//第一次遍历
void bianli1(){
    NSDictionary *dic=[NSDictionary dictionaryWithObjectsAndKeys:@"k1",@"v1",@"k2",@"v2", nil];
    NSArray *arr=[dic allKeys];
    for(id key in arr){
        id obj=[dic objectForKey:key];
        NSLog(@"Key-->%@  value--->%@",key,obj);
    }
}
//第二种遍历
void bianli2(){
       NSDictionary *dic=[NSDictionary dictionaryWithObjectsAndKeys:@"k1",@"v1",@"k2",@"v2", nil];
    NSEnumerator *e=  [dic keyEnumerator];
    id key=nil;
    while(key=[e nextObject]){
        id obj=[dic objectForKey:key];
    NSLog(@"Key-->%@  value--->%@",key,obj);
    }
}
 
//第三种遍历
void bianli3(){
    NSDictionary *dic=[NSDictionary dictionaryWithObjectsAndKeys:@"k1",@"v1",@"k2",@"v2", nil];
    [dic enumerateKeysAndObjectsUsingBlock:^(id key,id value,BOOL *stop){
     NSLog(@"Key-->%@  value--->%@",key,value);
    }];
}
/////////key排序
void sort1(){
    NSDictionary *dic=[NSDictionary dictionaryWithObjectsAndKeys:@"1",@"AC",@"3",@"AF",@"2",@"AE", nil];
   NSArray *arr= [dic keysSortedByValueUsingSelector:@selector(compare:)];
    //通过value排序,返回key集合
    NSLog(@"%@",arr);
}
 
void sort2(){
     
    NSDictionary *dic=[NSDictionary dictionaryWithObjectsAndKeys:@"1",@"AC",@"3",@"AF",@"2",@"AE", nil];
    NSLog(@"%@",dic);
}
//NSMustableDictionary
void CreateMutableDic(){
 
    NSMutableDictionary *mutableArray=[NSMutableDictionary dictionaryWithObjectsAndKeys:@"V1",@"K1",@"V2",@"K2", nil];
    NSMutableDictionary *dic=[NSMutableDictionary dictionaryWithObject:@"AA" forKey:@"BB"];
    //[mutableArray addEntriesFromDictionary:dic];//在字典种添加字典
    //[mutableArray removeAllObjects];
    //[mutableArray removeObjectForKey:@"K1"];//通过key移除键值对
    //[mutableArray setDictionary:dic];//重新设置字典
    //[mutableArray setObject:@"VV" forKey:@"K1"];//通过字典的key设置value
    //[mutableArray setObject:[NSNull null] forKey:@"K1"];//通过key 设置value 为null
    NSArray *arr=[NSArray arrayWithObjects:@"K1",@"K3" , nil];
    [mutableArray removeObjectsForKeys:arr];//删除数组中相同的key对应的key-value
    NSLog(@"%@",mutableArray);
}
 
int main(int argc, const char * argv[])
{
 
    @autoreleasepool {
         
        CreateMutableDic();
         
    }
    return 0;
}
分享到:
sql
评论

相关推荐

Global site tag (gtag.js) - Google Analytics