首页 > 其他 > 详细

【语法】NSDictionary数据字典

时间:2014-02-01 13:30:00      阅读:395      评论:0      收藏:0      [点我收藏+]

参照练习nsdictionary

【1】字典的创建

    //静态方法,不需要释放内存
    NSDictionary *dit=[[NSDictionary alloc] init];
    NSDictionary *dict=[NSDictionary dictionaryWithObject:@"v" forKey:@"k"];
    NSLog(@"%@",dict);

2.

    //最常用的初始化方式
    dict=[NSDictionary dictionaryWithObjectsAndKeys:@"v1",@"k1",@"v2",@"k2",nil];
    NSLog(@"%@",dict);

3.

    NSArray *obkects=[NSArray arrayWithObjects:@"v1",@"v2",@"v3",nil];
    NSArray *keys=[NSArray arrayWithObjects:@"k1",@"k2",@"k3", nil];
    dict=[NSDictionary dictionaryWithObjects:obkects forKeys:keys];
    NSLog(@"%@",dict);
    

 

【2】字典的使用

1.

   NSDictionary *dict=[NSDictionary dictionaryWithObjectsAndKeys:
                       @"v1",@"k1",
                       @"v2",@"k2",
                       @"v3",@"k3",nil];
    //count是计算有多少个键值对;
    NSLog(@"count=%zi",[dict count]);

2.

bubuko.com,布布扣
      NSDictionary *dict=[NSDictionary dictionaryWithObjectsAndKeys:
                       @"v1",@"k1",
                       @"v2",@"k2",
                       @"v3",@"k3",nil];
 //这个是来查看键值的另外一个
    //由于NSdictionary是不可变的,所以只能取值,不能修改值
    id obj=[dict objectForKey:@"k2"];
    NSLog(@"obj=%@",obj);
bubuko.com,布布扣

 

3.将字典写入文件中

   NSDictionary *dict=[NSDictionary dictionaryWithObjectsAndKeys:
                       @"v1",@"k1",
                       @"v2",@"k2",
                       @"v3",@"k3",nil];  
  NSString *path=@"/Users/haiyefeng/Desktop/test.txt";
    [dict writeToFile:path atomically:YES];

 

4.

    //读取文件中的字典。
    NSString *path2=[NSDictionary dictionaryWithContentsOfFile:path];
    NSLog(@"%@",path2);

 

【3】字典的用法2

  NSDictionary *dict=[NSDictionary dictionaryWithObjectsAndKeys:
                        @"v1",@"k1",
                        @"v2",@"k2",
                        @"v3",@"k3",nil];
   NSArray *key= [dict allKeys];
    NSLog(@"keys=%@",key);

 

2.

    NSDictionary *dict=[NSDictionary dictionaryWithObjectsAndKeys:
                        @"v1",@"k1",
                        @"v2",@"k2",
                        @"v3",@"k3",nil];    
    NSArray *objects=[dict allValues];
    NSLog(@"%@",objects);

 

3.

bubuko.com,布布扣
    NSDictionary *dict=[NSDictionary dictionaryWithObjectsAndKeys:
                        @"v1",@"k1",
                        @"v2",@"k2",
                        @"v3",@"k3",nil]; 
  objects= [dict objectsForKeys:[NSArray arrayWithObjects:@"k1",@"k2",@"k555",nil] notFoundMarker:@"not found"];//notfoundmarker里如果找不到的话,当key找不到对应的value时,用maker参数值代替
    NSLog(@"objects=%@",objects);
bubuko.com,布布扣

 

【4】遍历字典

bubuko.com,布布扣
void dictFot(){

    NSDictionary *dict=[NSDictionary dictionaryWithObjectsAndKeys:
                        @"v1",@"k1",
                        @"v2",@"k2",
                        @"v3",@"k3",nil];
    //遍历字典的所有key
    for(id key in dict){
        id value =[dict objectForKey:key];
        NSLog(@"%@",value);
    
    }

}
bubuko.com,布布扣

2.迭代器

bubuko.com,布布扣
    NSDictionary *dict=[NSDictionary dictionaryWithObjectsAndKeys:
                        @"v1",@"k1",
                        @"v2",@"k2",
                        @"v3",@"k3",nil];
    //key 迭代器
    NSEnumerator *enumer=[dict keyEnumerator];
    id key =nil;
    while (key=[enumer nextObject]){
        id value =[dict objectForKey:key];
        NSLog(@"%@=%@",key,value);
    
    }
bubuko.com,布布扣

 

3.这里只提供方法

    
    //对象迭代器
    //[dict objectEnumerator];

 

4.

bubuko.com,布布扣
//遍历字典3
void dictFor3(){
    NSDictionary *dict=[NSDictionary dictionaryWithObjectsAndKeys:
                        @"v1",@"k1",
                        @"v2",@"k2",
                        @"v3",@"k3",nil];
    
    [dict enumerateKeysAndObjectsUsingBlock:
     ^(id key, id obj, BOOL *stop) {
            NSLog(@"%@=%@",key,obj);
    }];

}
bubuko.com,布布扣

【语法】NSDictionary数据字典

原文:http://www.cnblogs.com/madeininfi/p/3536898.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!