Objective -C学习笔记之字典

时间:2021-02-02 22:42:24
         //字典:(关键字 值)
// NSArray *array = [NSArray array];//空数组
// NSDictionary *dictionary = [NSDictionary dictionary];//空字典
NSDictionary *my = [NSDictionary dictionaryWithObject:@"objective" forKey:@"key"];
NSLog(@"%@",my);
NSDictionary *to = [NSDictionary dictionaryWithObjectsAndKeys:@"",@"abc",@"",@"efg" ,nil];//创建包含多个值的字典
NSLog(@"%@",to);
NSDictionary *me = @{
@"a":@"",
@"b":@""
};
NSLog(@"%@,%li",me,me.count);
NSString *s = [me objectForKey:@"a"];//键值对应的对象
NSString *ss = me[@"b"];//跟数组差不多
NSLog(@"%@,%@",ss,s); // NSArray *keyArr = [me allKeys];
// for(NSString *key in keyArr)
// {
// NSLog(@"%@ = %@",key,me[key]);
// } NSDictionary *niubi = [NSDictionary dictionaryWithObjectsAndKeys:@"liyuanfang",@"direnjie",@"Moran ",@"fuermosi",@"kenanfushou",@"kenan" ,nil];//创建包含多个值的字典
NSArray *keyArr = [niubi allKeys];//取字典中的所有键值
for(NSString *key in keyArr)
{
NSLog(@"%@问%@这事你怎么看?",key,niubi[key]);
}
/**********************************************************************************/
//取出字典中所有的值
NSArray *valueArr = [me allValues];
NSLog(@"取字典中的所有键对应的值%@",valueArr); //字典既然存在,那么开发者肯定想到要方便的使用它
//然而就有了,可以独立取出键或值的方法:allKeys和allValues
//因为他们是数组属性,所以需要放到新建的数组对象中 //枚举器中OC语言中一个遍历的有效方法,
//应用时,一般先通过.....Enumerator获取枚举器,存放到其对应的类型NSEnumerator对象中
//这个对象会有一个自动向下遍历的方法nextObject
//先获取字典中key的枚举器,然后遍历该枚举器,获取key对应的值
NSEnumerator *e = [me keyEnumerator];
id obj;
while (obj = [e nextObject]) {
NSLog(@"%@ = %@",obj,me[obj]);
} //获取value对应的枚举器
NSEnumerator *a = [me objectEnumerator];
while(obj = [a nextObject])
{
NSLog(@"%@",obj);
} //键和对象列举块,stop代表遍历停止 [me enumerateKeysAndObjectsUsingBlock:^(id key, id obj, BOOL *stop) { NSLog(@"key=%@,value = %@",key,obj);
}];

可变字典

         NSMutableDictionary *aa = [NSMutableDictionary dictionaryWithObjectsAndKeys:@"a",@"",@"b",@"", nil];
//增
[aa setObject:@"c" forKey:@""];
NSLog(@"%@",aa);
[aa setValue:@"d" forKey:@""];
NSLog(@"%@",aa);
//减
[aa removeObjectForKey:@""];
NSLog(@"%@",aa);
[aa removeAllObjects];
NSLog(@"%@",aa);

Objective -C学习笔记之字典的更多相关文章

  1. python学习笔记整理——字典

    python学习笔记整理 数据结构--字典 无序的 {键:值} 对集合 用于查询的方法 len(d) Return the number of items in the dictionary d. 返 ...

  2. Object C学习笔记13-Dictionary字典

    通过Array数组和Set集合的学习和理解,可以想象得到Dictionary也分为两种情况了,那就是可变和不可变两种类型的.的确如此,在Object C中提供了两个字典类,分别为NSDictionar ...

  3. Python学习笔记之字典

    一.创建和使用字典 1.创建字典 phonebook={'Alice':'2341','Beth':'9102','Cecil':'3258'} 2.dict,通过映射创建字典 >>&gt ...

  4. python3.5学习笔记--利用字典对指定文本字符串进行替换

    事情缘起于同事整理excel,需要批量的对某一列的内容进行替换. 举例: 数据格式:以下为一列内容,每行都在一个单元格中,目的是将数字替换为制定的中文字符. 1,2,31 ,4,33 ,21,, 对于 ...

  5. 【Python学习笔记】字典操作

    字典dict是Python中唯一内置的映射类型,由键值对组成,字典是无序的.字典的键必须是不变对象,如字符串.数字.元组等,而包含可变对象的列表.字典和元组则不能作为键.这里可变和不可变的意思是指这个 ...

  6. Python学习笔记四--字典与集合

    字典是Python中唯一的映射类型.所谓映射即指该数据类型包含哈希值(key)和与之对应的值(value)的序列.字典是可变类型.字典中的数据是无序排列的. 4.1.1字典的创建及赋值 dict1={ ...

  7. day5_python学习笔记_chapter7_字典

    1. 内建方法fromkeys()创建一个默认字典, 字典中元素具有相同的值,默认为None dict1 = {}.fromkeys(('x', 'y'), -1) 2. 访问字典中的值,  for ...

  8. Python学习笔记004_字典_集合

    >>> # 字典 用大括号表示, 它是影射类型,相当于java中的Map >>> >>> dict1 = {'李宁': '一切皆有可能', '耐克 ...

  9. Python学习笔记(2)-字典

    什么是字典? 像列表一样,但是不能想列表用下表索引,而是通过'键',键及其关联的值称为'键-值'对.字典经常会简写成dict 创建字典{} 例如: >>> dict = {'one' ...

随机推荐

  1. IO例子

    1.用字节读取一个文件,替换换行符,并打印 String fileName = "src/learnIO/Stream.java"; FileInputStream in = ne ...

  2. 前端编码规范(2)—— HTML 规范

    HTML 规范 文档类型 推荐使用 HTML5 的文档类型申明: <!DOCTYPE html>. (建议使用 text/html 格式的 HTML.避免使用 XHTML.XHTML 以及 ...

  3. tail -f logfile&period;log 一直监控某个文件,若该文件有改动,立即在屏幕上输出

    tail -f logfile.log 可以一直监控某个文件,只要文件有改动,就立即在屏幕上输出

  4. iptables 汇总

    iptables 一. 背景知识 1. 相关网络背景知识 (1) Linux 主机内部路由 Linux 在 内核中维护由一个路由表, 报文进入本机后, 由该路由表判断目标地址; 报文离开本机之前, 判 ...

  5. Linux指令--more&comma;less

    文章出处:http://www.cnblogs.com/peida/archive/2012/11/05/2754477.html,感谢原作者无私的分享. more命令,功能类似 cat ,cat命令 ...

  6. java排序算法(二):直接选择排序

    java排序算法(二) 直接选择排序 直接选择排序排序的基本操作就是每一趟从待排序的数据元素中选出最小的(或最大的)一个元素,顺序放在已排好序的数列的最后,直到全部待排序的数据元素排完,它需要经过n- ...

  7. jdbcTemplate的简单介绍

    Spring JDBC抽象框架core包提供了JDBC模板类,其中JdbcTemplate是core包的核心类,所以其他模板类都是基于它封装完成的,JDBC模板类是第一种工作模式. JdbcTempl ...

  8. Maven的下载,安装,配置,测试,初识以及Maven私服

    :Maven目录分析 bin:含有mvn运行的脚本 boot:含有plexus-classworlds类加载器框架 conf:含有settings.xml配置文件 lib:含有Maven运行时所需要的 ...

  9. mysql where in形式存储过程如何传递带有单引号的入参

    对于存储过程或者函数,我们通常都有这样的一个需求,传递一个参数,输出一个结果.如:我传递一个账号,返回这个账号所拥有的权限.但是如果这个需求改了,我要传递多个账号,获取这些账号权限,但是账号的个数不限 ...

  10. centos7&period;2安装社区版docker-ce-17&period;06&period;1

    先yum install安装如下包: container-selinux-2.21-1.el7.noarch libcgroup-0.41-13.el7.x86_64 libtool-ltdl-2.4 ...