Objective-C字典初识

字典中存放的是键值对   可通过键取得值

1.创建不可变字典

1 //         1  f(1)
2         NSDictionary * dic = [[NSDictionary alloc] initWithObjectsAndKeys:@"one",@"1",@"two",@"2",@"three",@"3", nil];
3         NSLog(@"%@",dic);
4
5         // 2 快速创建字典
6         NSDictionary * dic2 = @{@"1":@"one",@"2":@"two",@"3":@"three"};
7         NSLog(@"%@",dic2);

2.字典中的元素个数

1 NSUInteger count = [dic2 count];

2 NSLog(@"%lu",count);

3.字典中可以存放数组

1         NSArray * arr = @[@"one",@"two",@"three"];
2         NSDictionary * dic3 = @{@"1":@"one",@"array":arr,@"2":@"two"};
3         NSLog(@"%@",dic3);

4.字典中取值

1         // 5 从字典中取值
2         NSArray * arr2 = [dic3 objectForKey:@"array"];
3         NSLog(@"%@",arr2);
4         // 快速取法
5         NSArray * arr3 = dic3[@"array"];
6         NSLog(@"%@",arr3);  

5.可变字典

  5.1 可变字典的创建

1  // 创建
2         NSMutableDictionary * muDic = [[NSMutableDictionary alloc] initWithObjectsAndKeys:@"one",@"1",@"two",@"2", nil];
3
4         NSDictionary * dic = @{@"1":@"one",@"2":@"two"};
5
6         NSMutableDictionary * muDic2 = [[NSMutableDictionary alloc] initWithDictionary:dic];
7
8         NSLog(@"%@",muDic2);

  5.2 向字典中添加元素

1         [muDic2 setObject:@"three" forKey:@"3"];
2         NSLog(@"%@",muDic2);

  5.3 重置字典(set方法)

1         [muDic2 setDictionary:@{@"a":@"one",@"b":@"two"}];
2         NSLog(@"%@",muDic2);

  5.4 删除元素

    删除key对应的键值对

1 [muDic2 removeObjectForKey:@"a"];

2 NSLog(@"%@",muDic2);

    删除全部

1

2 [muDic2 removeAllObjects];

3 NSLog(@"%@",muDic2);

  5.5打印字典中的元素

1         NSArray * arr = [muDic2 allKeys];
2         // arr存储字典中所有的key
3         NSLog(@"%@",arr);
4         // 用快速枚举的方式打印字典muDic中的值
5         for (NSString * str in arr) {
6 //            NSLog(@"%@",[muDic2 objectForKey:str]);
7             NSLog(@"%@",muDic2[str]);
8         }

扩展

- (BOOL)isKindOfClass:(Class)aClass;

判断是否是某种类型

example

[obj isKindOfClass:[NSString class]];

判断obj是否是NSString类型 返回值为BOOL类型

时间: 2024-09-30 14:51:27

Objective-C字典初识的相关文章

python 06 id is == set 深浅copy

01 今日内容大纲 is==id用法 代码块 同一代码下的缓存机制 不同代码下的缓存机制(小数据池) 总结 集合(了解,但金融有时候会用到) 深浅copy 02 昨日回顾 is id == 字典初识: 查询速度快,存储大量的关联性数据 键:是不可变数据类型,比如str bool int tuple,并且是唯一的 值:可以是任意数据类型,对象 字典3.5x之前是无序的,3.6x按照初始时的顺序排列,3.7之后是有序的 增删改查: 增:setdefault(),dic['age']=18 删:pop

Objective - C NSDictionary不可变字典和NSMutableDictionary可变字典

//创建一个不可变的字典对象 //便利构造器创建 NSDictionary *dic = [NSDictionary dictionaryWithObjectsAndKeys:@"zhonger", @"name2", @"taixu", @"name1", @"caicai", @"name3", nil]; //初始化方法 //先给value 再给key NSDictionary *

Python之路 day2 初识字典

1 #Author:ersa 2 ''' 3 key-value 键值对 4 字典是无序的,不需要下标,有key 5 字典的查找.修改.添加.判断.删除 6 ''' 7 8 info = { 9 'stu1101': "TengLan Wu", 10 'stu1102': "LongZe Luola", 11 'stu1103': "XiaoZe Maliya", 12 } 13 14 #输出 15 print("输出所有的key&qu

初识Swift集合之字典集合

字典集合 字典表示一种非常复杂的集合, 允许按照某个键来访问元素 字典集合的声明与初始化: var strudentDictionary1 : Dictionary<Int , String> = [102 : " Jack" , 105 : "Mark" , 107 : "Jay"] ; //这里声明里一个strudentDictionary1 的字典集合,他的键是 Int 类型,他的值为String类型 var strudentD

基础数据类型初识(三)字典

字典 :python 中非常重要的数据类型,在python中唯一一个映射的数据类型 可变与不可变 不可变数据类型:int str bool tuple可变数据类型:list,dic,set dic = {"name":"alex","name_list":["小黑","changjiang"]} key 是唯一的 且 是不可变数据类型value 是任意数据类型 在3.5版本(包括)之前,字典是无序的3.6版

初识python: 字典

使用数据字典,编写一个多级菜单: 需求:每一级可返回上级,可退出. 多级菜单 #!/user/bin env python # author:Simple-Sir # time:20180915 # 使用字典实现多级菜单 sheng = { '四川省':{ '成都':{ '高新区':['第1条信息:','第2条信息:','第3条信息.'], '天府新区':['第1条信息:','第2条信息:','第3条信息.'], '武侯区':['第1条信息:','第2条信息:','第3条信息.'], }, '德

字典 id is == 小数据池 初识

字典 字典是由键值对组成的, 字典的键是唯一的 不可变的(可惜哈的) 字典的增删改查 dic = ['yuan' = 1,'jnnj' = 2] #增 dic.setdefault() #存在就不进行添加,不存在就添加 #setdefault中第一个参数是键 第二参数是值 如果不写值就默认为None dic[键] = '值' #删 s = dic.pop('3') # pop返回的是被删除的值 pop一定要给人家参数 参数是要删除的键 # s1 = dic.popitem() # 随机删除 在p

Objective - C 字符串 数组 字典 集合的基本使用

1.字符串的基本使用(NSString,NSMutableString) 字符串初始化常用的基本方法: NSString *str = @"jacky"; //临时的字符串 NSString *str2 = [[NSString alloc] initWithFormat:@"%@,20岁",str]; // 初始化方法 NSString *str3 = [NSString stringWithFormat:@"%@,20 岁",str];  /

Objective C笔记(第一天)

• OC语言概述 1.早在20世纪80年代早期,Bard Cox发明了Objective C, 是扩充的C,面向对象的编程语言. 2.NEXTSTEP简称NS a.1985年,Steve Jobs成?立了NeXT公司. b.1988年,NeXT SoftWare公司获得了OC的语言授权, NEXTSTEP环境成为了苹果操作系统,创建的开发包.MACOS c.1996年,12月20?日,苹果公司宣布收购了NeXT software公司,NEXTSTEP环境为apple公司下主要开发.发?行操作系统