//字典:(关键字 值)
// 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. Bootstrap中glyphicons-halflings-regular.woff字体报404错notfound

    今天查看网站的源代码,发现有个glyphicons-halflings-regular.woff文件没有找到,因为我的网站使用了bootstrap的Glyphicons 字体图标,因此需要加载Glyp ...

  2. 68 id -显示用户的id

    Linux id命令用于显示用户的ID,以及所属群组的ID. id会显示用户以及所属群组的实际与有效ID.若两个ID相同,则仅显示实际ID.若仅指定用户名称,则显示目前用户的ID. 语法 id [-g ...

  3. js和jQuery的日常

    让当前页面显示整个屏幕 - (iframe 从后台跳转到前台的时候容易多层嵌套)$(document).ready(function(){ if(window.top != window.self) ...

  4. 【BZOJ 1007】【HNOI 2008】水平可见直线 解析几何

    之前机房没网就做的这道题,用的解析几何判断交点横坐标 #include<cmath> #include<cstdio> #include<cstring> #inc ...

  5. eclipse-搭建maven的war项目集合spring注解方式

    工具:eclipse 4.4.2 版本号:20150219-0600 jdk:1.7 1.下图创建maven工程,然后next 下图选择工程保存位置(这里选择默认),next 下图选择webapp项目 ...

  6. Echarts-画柱状,折线图

    导入echarts包 <script src='../scripts/libraries/echarts/echarts-all.js'></script> 堆积图js var ...

  7. JACASCRIPT--的奇技技巧的44招

    JavaScript是一个绝冠全球的编程语言,可用于Web开发.移动应用开发(PhoneGap.Appcelerator).服务器端开发(Node.js和Wakanda)等等.JavaScript还是 ...

  8. redis事务

    当一个client在连接中发出multi命令时,这个连接就进入一个事务的上下文,该连接后续的命令不会执行,而是存放到一个队列中,当执行exec命令时,redis会顺序的执行队列中的所有命令.如果其中执 ...

  9. Maven报错: Missing artifact jdk.tools:jdk.tools:jar:1.7

    pom.xml 有小红叉,报错: Missing artifact jdk.tools:jdk.tools:jar:1.7 解决方法:(缺少一个jar包) http://blog.csdn.net/u ...

  10. bzoj 3518 Dirichlet卷积

    详情见代码,回头再填坑... #include<iostream> #include<cstdio> #include<algorithm> #include< ...