Objective-C之字典
//字典:(关键字 值)
//插入代码字太小
// 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之字典的更多相关文章
- Automake
Automake是用来根据Makefile.am生成Makefile.in的工具 标准Makefile目标 'make all' Build programs, libraries, document ...
- 【DG】Oracle_Data_Guard官方直译
[DG]Oracle Data Guard官方直译 1 Oracle Data Guard 介绍 Oracle Data Guard概念和管理10g版本2 Oracle Data Guard ...
- DVWA实验之Brute Force(暴力破解)- Low
DVWA实验之Brute Force-暴力破解- Low 这里开始DVWA的相关实验~ 有关DVWA环境搭建的教程请参考: https://www.cnblogs.com/0yst3r-2 ...
- Oracle错误览表
Oracle 错误总结及问题解决 ORA 本文转自:https://www.cnblogs.com/zhangwei595806165/p/4972016.html 作者@承影剑 ORA-0 ...
- Objective -C学习笔记之字典
//字典:(关键字 值) // NSArray *array = [NSArray array];//空数组 // NSDictionary *dictionary = [NSDictionary d ...
- 字典转模型框架 Mantle的使用:国外程序员最常用的iOS模型
Mantle简介 Mantle 是iOS和Mac平台下基于Objective-C编写的一个简单高效的模型层框架. Mantle能做什么 Mantle可以轻松把JSON数据.字典(Dictionary) ...
- Objective C笔记(第一天)
• OC语言概述 1.早在20世纪80年代早期,Bard Cox发明了Objective C, 是扩充的C,面向对象的编程语言. 2.NEXTSTEP简称NS a.1985年,Steve Jobs成⽴ ...
- IOS NS 字符串 数组 字典 文件 动态 静态 操作
ios 常用字符串的操作 //将NSData转化为NSString NSString* str = [[NSString alloc] initWithData:response e ...
- Mantle--国外程序员最常用的iOS模型&字典转换框架
Mantle简介 Mantle是iOS和Mac平台下基于Objective-C编写的一个简单高效的模型层框架. Mantle能做什么 Mantle可以轻松把JSON数据.字典(Dictionary)和 ...
随机推荐
- 自定义getElementByClass
DOM已经实现了getElementByClass,这个功能内部是怎么实现的呢 js代码及如何使用: function getElementByClass(className,parentNode){ ...
- keypress,keydown,keyup,charCode,keyCode兼容性问题
keypress对应的是字符编码,如“ABC”,“123”之类,有大小写之分(有兼容性问题) keydown,keyup对应的是键盘的键码,无大小写之分,每个键盘都有一个键码(无兼容性问题) 使用ke ...
- BroadcastReceiver之(手动代码注册广播)屏幕锁屏、解锁监听、开机自启
对于解锁和锁屏这种用的比较频繁action,谷歌做了限制,必须手动用代码注册 直接上代码:这是注册广播(手动代码注册广播接收者) public class MainActivity extends A ...
- Android几种打开SQLite的方法
第一种:用SQLiteOpenHelper辅助类 SQLiteOpenHelper类可以用来创建或打开数据库,两个关键的方法:onCreate(SQLiteDatabase db)和onUpgrade ...
- oracle 10g编程
一.概述 1.sql语言特点 sql语言采用集合操作方式,对数据的处理是成组进行的,而不是一条一条处理,听过使用集合操作方式,可以家加快数据的处理速度. 执行sql语句时每次只能发送并处理一条语句.如 ...
- 顺序队列C/C++实现
#include <iostream> using namespace std; const int MAXSIZE = 1000; typedef int ELEMTYPE; const ...
- [转]Hibernate查询对象所有字段,单个字段 ,几个字段取值的问题
原文地址:http://www.ablanxue.com/prone_3552_1.html 1. 查询整个映射对象所有字段 Java代码 //直接from查询出来的是一个映射对象,即:查询整个映射对 ...
- [转]JAVA设计模式之单例模式
原文地址:http://blog.csdn.net/jason0539/article/details/23297037 概念: java中单例模式是一种常见的设计模式,单例模式的写法有好几种,这里主 ...
- Entity Framework Code First (一)Conventions
Entity Framework 简言之就是一个ORM(Object-Relational Mapper)框架. Code First 使得你能够通过C#的类来描述一个模型,模型如何被发现/检测就是通 ...
- ES6新特性:增加新类型:Symbol
本文所有Demo的运行环境都为nodeJS, 参考:让nodeJS支持ES6的词法----babel的安装和使用 : ES6新增了一种数据类型:Symbol,Symbol是用来定义对象的唯一属性名的不 ...