//字典:(关键字 值)

//插入代码字太小

//        NSArray *array = [NSArray array];//空数组

//        NSDictionary *dictionary = [NSDictionary dictionary];//空字典

NSDictionary *my = [NSDictionary dictionaryWithObject:@"objective" forKey:@"key"];

NSLog(@"%@",my);

NSDictionary *to = [NSDictionary dictionaryWithObjectsAndKeys:@"123",@"abc",@"456",@"efg" ,nil];//创建包含多个值的字典

NSLog(@"%@",to);

NSDictionary *me = @{

@"a":@"1",

@"b":@"2"

};

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);

}];

Objective-C之字典的更多相关文章

  1. Automake

    Automake是用来根据Makefile.am生成Makefile.in的工具 标准Makefile目标 'make all' Build programs, libraries, document ...

  2. 【DG】Oracle_Data_Guard官方直译

    [DG]Oracle Data Guard官方直译 1 Oracle Data Guard 介绍   Oracle Data Guard概念和管理10g版本2   Oracle Data Guard ...

  3. DVWA实验之Brute Force(暴力破解)- Low

    DVWA实验之Brute Force-暴力破解- Low     这里开始DVWA的相关实验~   有关DVWA环境搭建的教程请参考: https://www.cnblogs.com/0yst3r-2 ...

  4. Oracle错误览表

    Oracle 错误总结及问题解决 ORA     本文转自:https://www.cnblogs.com/zhangwei595806165/p/4972016.html  作者@承影剑 ORA-0 ...

  5. Objective -C学习笔记之字典

    //字典:(关键字 值) // NSArray *array = [NSArray array];//空数组 // NSDictionary *dictionary = [NSDictionary d ...

  6. 字典转模型框架 Mantle的使用:国外程序员最常用的iOS模型

    Mantle简介 Mantle 是iOS和Mac平台下基于Objective-C编写的一个简单高效的模型层框架. Mantle能做什么 Mantle可以轻松把JSON数据.字典(Dictionary) ...

  7. Objective C笔记(第一天)

    • OC语言概述 1.早在20世纪80年代早期,Bard Cox发明了Objective C, 是扩充的C,面向对象的编程语言. 2.NEXTSTEP简称NS a.1985年,Steve Jobs成⽴ ...

  8. IOS NS 字符串 数组 字典 文件 动态 静态 操作

    ios 常用字符串的操作   //将NSData转化为NSString        NSString* str = [[NSString alloc] initWithData:response e ...

  9. Mantle--国外程序员最常用的iOS模型&字典转换框架

    Mantle简介 Mantle是iOS和Mac平台下基于Objective-C编写的一个简单高效的模型层框架. Mantle能做什么 Mantle可以轻松把JSON数据.字典(Dictionary)和 ...

随机推荐

  1. 自定义getElementByClass

    DOM已经实现了getElementByClass,这个功能内部是怎么实现的呢 js代码及如何使用: function getElementByClass(className,parentNode){ ...

  2. keypress,keydown,keyup,charCode,keyCode兼容性问题

    keypress对应的是字符编码,如“ABC”,“123”之类,有大小写之分(有兼容性问题) keydown,keyup对应的是键盘的键码,无大小写之分,每个键盘都有一个键码(无兼容性问题) 使用ke ...

  3. BroadcastReceiver之(手动代码注册广播)屏幕锁屏、解锁监听、开机自启

    对于解锁和锁屏这种用的比较频繁action,谷歌做了限制,必须手动用代码注册 直接上代码:这是注册广播(手动代码注册广播接收者) public class MainActivity extends A ...

  4. Android几种打开SQLite的方法

    第一种:用SQLiteOpenHelper辅助类 SQLiteOpenHelper类可以用来创建或打开数据库,两个关键的方法:onCreate(SQLiteDatabase db)和onUpgrade ...

  5. oracle 10g编程

    一.概述 1.sql语言特点 sql语言采用集合操作方式,对数据的处理是成组进行的,而不是一条一条处理,听过使用集合操作方式,可以家加快数据的处理速度. 执行sql语句时每次只能发送并处理一条语句.如 ...

  6. 顺序队列C/C++实现

    #include <iostream> using namespace std; const int MAXSIZE = 1000; typedef int ELEMTYPE; const ...

  7. [转]Hibernate查询对象所有字段,单个字段 ,几个字段取值的问题

    原文地址:http://www.ablanxue.com/prone_3552_1.html 1. 查询整个映射对象所有字段 Java代码 //直接from查询出来的是一个映射对象,即:查询整个映射对 ...

  8. [转]JAVA设计模式之单例模式

    原文地址:http://blog.csdn.net/jason0539/article/details/23297037 概念: java中单例模式是一种常见的设计模式,单例模式的写法有好几种,这里主 ...

  9. Entity Framework Code First (一)Conventions

    Entity Framework 简言之就是一个ORM(Object-Relational Mapper)框架. Code First 使得你能够通过C#的类来描述一个模型,模型如何被发现/检测就是通 ...

  10. ES6新特性:增加新类型:Symbol

    本文所有Demo的运行环境都为nodeJS, 参考:让nodeJS支持ES6的词法----babel的安装和使用 : ES6新增了一种数据类型:Symbol,Symbol是用来定义对象的唯一属性名的不 ...