zoukankan      html  css  js  c++  java
  • Objective-C:NSDectionary字典的常见操作

    NSDectionary字典:它是一个存储键值的容器,每一个键key都对应着一个值value,可以通过键key一次性找到目标值value,这是一个比较好的存储器,相比于数组而言,它明显提高了查询效率。同时,它存储数据的方式采用的是哈希存储,因此它的存储的数据是无序的。

    NSDectionary字典的主要操作有:创建、遍历等,,,

    //

    //  main.m

    //  03-NSDectionary

    //

    //  Created by ma c on 15/8/18.

    //  Copyright (c) 2015年 bjsxt. All rights reserved.

    //

    #import <Foundation/Foundation.h>

    int main(int argc, const char * argv[])

    {

        @autoreleasepool

        {

            //NSDectionary字典对象,字典中存储的是键值对 key:value,键一般是采用字符串NSString

            //1.创建

            NSDictionary *dic = @{@"one":@1,@"two":@2,@"three":@3};

            NSLog(@"%@",dic);

            

            //字典采取哈希表的形式存储,在查找对象的时候非常的块,接近一次命中。

            NSDictionary *dic2 = [NSDictionary dictionaryWithObjectsAndKeys:@1,@"one",@2,@"two",@3,@"three",nil];

            NSLog(@"%@",dic2);

            

            //2.枚举遍历

            for(id key in dic2)

            {

                //NSLog(@"%@=%@",key,[dic2 objectForKey:key]);

                NSLog(@"%@=%@",key,dic2[key]);

            }

            

            //Block遍历

            [dic2 enumerateKeysAndObjectsUsingBlock:^(id key, id obj, BOOL *stop) {

                NSLog(@"%@=%@",key,dic2[key]);

                if([key isEqualToString:@"three"])

                {

                    *stop = YES;

                }

            }];

            

            //取出所有的key遍历

            NSArray *keys = [dic2 allKeys];

            [keys enumerateObjectsUsingBlock:^(id obj, NSUInteger idx, BOOL *stop) {

                NSLog(@"%@=%@",obj,[dic2 objectForKey:obj]);

            }];

            

    //        NSArray *value = [dic2 allValues];

    //        [value enumerateObjectsUsingBlock:^(id obj, NSUInteger idx, BOOL *stop) {

    //            NSLog(@"%@",obj);

    //        }];//取出所有的value值

            

            

            //3.将字典存储到文件

            [dic2 writeToFile:@"/Users/mac/desktop/dic.plist" atomically:NO];

            

            //4.通过读文件创建字典

            NSDictionary *dic3 = [NSDictionary dictionaryWithContentsOfFile:@"/Users/mac/desktop/dic.plist"];

            NSLog(@"%@",dic3);

        }

        return 0;

    }

  • 相关阅读:
    easyui里弹窗的两种表现形式
    如何获得 request, "request.getSession(true).setAttribute("a",a);"与“request.setAttribute("a",a);”区别
    JSTL和EL的区别
    windows下安装多个tomcat服务
    谷歌浏览器控制台使用
    递归和迭代有什么区别?
    left join ,right join ,inner join ,cross join 区别
    sql良好习惯
    添加了一个字段,查询速度突然变慢
    热点账户问题-转
  • 原文地址:https://www.cnblogs.com/XYQ-208910/p/4740154.html
Copyright © 2011-2022 走看看