//字典:(关键字 值)
// 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,通过映射创建字典 >>> ...

  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. MATLAB读取和写入Excel文件

    1. 读取Excel文件 (a) 命令方式xlsread:  读取命令:[data,text]  = xlsread(FileName, SheetName, Range); data保存的是数据单元 ...

  2. 20 seq 某个数到另外一个数之间的所有整数

    seq命令Shell内建命令 seq命令用于产生从某个数到另外一个数之间的所有整数. 语法 : seq [选项]... 尾数 seq [选项]... 首数 尾数 seq [选项]... 首数 增量 尾 ...

  3. jQuery能做些什么

    来源于: Learning jQuery, 4th Edition What jQuery does: 1. Access elements in a document; $('div.content ...

  4. Shell命令_case

    语法: case "变量" in     "变量1")         ...         ;; #输出两个分号     "变量2") ...

  5. js-延迟处理函数

    <script type="text/javascript"> var i = setTimeout('check()',5000); function check() ...

  6. HTTP/2.0与HTTP/1.1协议区别

    超文本传输协议(英文:HyperText Transfer Protocol,缩写:HTTP)是互联网上应用最为广泛的一种网络协议.设计HTTP最初的目的是为了提供一种发布和接收HTML页面的方法.通 ...

  7. android开发之自定义组件

    android开发之自定义组件 一:自定义组件: 我认为,自定义组件就是android给我们提供的的一个空白的可以编辑的图片,它帮助我们实现的我们想要的界面,也就是通过自定义组件我们可以把我们要登入的 ...

  8. Oracle触发器实例(网搜)

    触发器使用教程和命名规范 目  录触发器使用教程和命名规范 11,触发器简介 12,触发器示例 23,触发器语法和功能 34,例一:行级触发器之一 45,例二:行级触发器之二 46,例三:INSTEA ...

  9. BZOJ 2648: SJY摆棋子

    2648: SJY摆棋子 Time Limit: 20 Sec  Memory Limit: 128 MBSubmit: 2968  Solved: 1011[Submit][Status][Disc ...

  10. Java并发和多线程(一)基础知识

    1.java线程状态 Java中的线程可以处于下列状态之一: NEW: 至今尚未启动的线程处于这种状态. RUNNABLE: 正在 Java 虚拟机中执行的线程处于这种状态. BLOCKED: 受阻塞 ...