zoukankan      html  css  js  c++  java
  • 12-NSDictionary(字典)

    字典里面存储都是键值对, 通过唯一的key(键)可以找到相应地value(值)。 类似Java的Map。

    1、字典的初始化(只介绍静态方法(类方法))

    (1)+ (instancetype)dictionary  

    功能:创建并返回一个空字典

         由于NSDictionary是不可变字典,一旦初始化创建之后,不允许我们对其进行修改,所以我们一般不使用这个方法创建一个

    不可变的空字典。

      事实上,这个方法主要是声明给NSDictionary的子类NSMutableDictionary(可变字典)使用的。

     (2)+ (instancetype)dictionaryWithObject:(id)anObject forKey:(id<NSCopying>)aKey

    功能:创建并返回一个字典,这个字典只包含一对给定的键值

    (id)anObject                    表示这里只能放一个非空的OC对象(即不能放nil),不能放基本数据类型、结构体、枚举等。

    (id<NSCopying>)aKey   表示这里是键值。

    (3)+ (instancetype)dictionaryWithObjectsAndKeys:(id)firstObject, , ...nil

    功能:创建一个包含多对键值的字典  并且nil只能放在最后,因为它具有特殊含义:表示键值输入完毕。

    (4) + (instancetype)dictionaryWithObjects:(NSArray *)objects forKeys:(NSArray *)keys

    功能:创建一个字典,它的键和值分别保存在两个数组中

    (5)快速创建字典

    @{}    : 使用这种方法可以快速创建一个不可变字典NSDictionary; 但是不能用于创建可变字典NSMutableDictionary

    2、字典的基本用法

    (1) - (NSUInteger)count    count是动态方法(对象方法)

    功能:计算字典中的键值对数。

    注意:count计算的是字典中的键值有多少对,而不是有多少个OC字符串对象。

    (2)- (BOOL)isEqualToDictionary:(NSDictionary *)otherDictionary

    功能:判断两个字典是否相同

     

    (3)objectForKey:

    功能:根据key值取对应的value值

    (4)[dict writeToFile:<(NSString *)> atomically:<(BOOL)>];

    功能: 将字典写入文件中

     

    (5)+ dictionaryWithContentsOfFile:(NSString *)

    功能:从文件读取字典(要求文件格式符合要求)

    (6)[dict allKeys];

    功能:返回所有的key

    (7)[dict allValues];

    功能:返回所有的value

    注意:可以有多个key对应1个value;但是不能有1个key对应多个value。

    (8)[dict objectsForKeys:<(NSArray *)> notFoundMarker:<(id)#>];

    功能:根据多个key取出对应的多个value

    当找不到key对应的value时,用Marker的参数值代替。

    3、遍历字典

    (1) 使用for循环

    (2)  使用key迭代器遍历字典

    (3)使用block遍历字典

  • 相关阅读:
    二进制部署k8s集群(7):创建(Pod, Deployment、Service)验证kubernetes集群
    二进制部署k8s集群(六):部署kube-proxy
    centos同步系统时间
    二进制部署k8s集群(五):部署kubelet
    二进制部署k8s集群(四):部署controller-manager与kube-scheduler
    二进制部署k8s集群(三):部署kube-apiserver,签发kube-apiserver证书|kuelete证书|kube-proxy证书
    二进制部署k8s集群(二): 签发etcd证书,安装etcd集群
    二进制部署k8s集群(一):前期准备,安装虚拟机与DNS软件bind9
    docker-compose.yml 使用说明
    python--将字符串类型的list 转换成 list
  • 原文地址:https://www.cnblogs.com/xdl745464047/p/4006412.html
Copyright © 2011-2022 走看看