Java 有Map,可以把数据以键值对的形式储存起来,取值的时候通过key就可以直接拿到对应的值,方便快捷.在Objective-C语言中,词典就是做这样的事情的,和NSArray一样,一个词典对象也能保存不同类型的值,词典也分别有不可变词典和可变的词典(NSDictionary与 NSMutableDictionary),前者是线程安全的,后者不是. PS:跟数组的区别是:词典乱序存储数据,例如通过[词典对象实例 allKeys]获取的数组对象实例是乱序的,这时需要通过[数组对象实例 sort…
做过Java语言或者 C语言开发的朋友应该很清楚关键字map 吧,它可以将数据以键值对儿的形式储存起来,取值的时候通过KEY就可以直接拿到对应的值,非常方便,是一种非常常用的数据结构.在Objective-C语言中,当然也有这方面的支持,词典对象就是做这个事情的,不过在同一个词典对象中可以保存多个不同类型的数据,不像Java与C只能保存声明的相同类型的数据,这一点还是可以解决不少问题的. 词典的关键字为NSDictionary与NSMutableDictionary.对OC稍有认识的朋友应该从关…
做过Java语言 或者 C语言 开发的朋友应该很清楚 关键字map 吧,它可以将数据以键值对儿的形式储存起来,取值的时候通过KEY就可以直接拿到对应的值,非常方便.在Objective-C语言中 词典对象就是做这个事情的,不过在同一个词典对象中可以保存多个不同类型的数据,不像Java与C 只能保存声明的相同类型的数据,它的关键字为NSDictionary与NSMutableDictionary.阅读过我之前文章的朋友应该从关键字的 结构就可以看出这两个的区别.很明显前者为不可变词典,或者为可变词…
NSDictionary和NSMutableDictionary:通过key和value进行对应,进行存储元素,能够方便提取所需的元素.key是不能够重复出现,但是value能够重复出现.NSDictionary:不可变词典,无序,能够通过key取出对应的value.创建方法:1.创建一个字典,并存储一个键值对NSDictionary *d = [NSDictionary dictionaryWithObject:@"beijing" forKey:@"name"]…
NSDictionary.NSMutableDictionary的基本用法 1.不可变词典NSDictionary 字典初始化 NSNumber *numObj = [NSNumber numberWithInt:100]; 以一个元素初始化 NSDictionary *dic = [NSDictionary dictionaryWithObject:numObj forKey:@"key"]; 初始化两个元素 NSDictionary *dic = [NSDictionary dic…
文章转载自:http://www.cnblogs.com/wengzilin/archive/2012/03/15/2397712.html 做过Java语言 或者 C语言 开发的朋友应该很清楚 关键字map 吧,它可以将数据以键值对儿的形式储存起来,取值的时候通过KEY就可以直接拿到对应的值,非常方便.在Objective-C语言中 词典对象就是做这个事情的,不过在同一个词典对象中可以保存多个不同类型的数据,不像Java与C 只能保存声明的相同类型的数据,它的关键字为NSDictionary与…
原文网址:http://www.cnblogs.com/wengzilin/archive/2012/03/15/2397712.html 做过Java语言 或者 C语言 开发的朋友应该很清楚 关键字map 吧,它可以将数据以键值对儿的形式储存起来,取值的时候通过KEY就可以直接拿到对应的值,非常方便.在Objective-C语言中 词典对象就是做这个事情的,不过在同一个词典对象中可以保存多个不同类型的数据,不像Java与C 只能保存声明的相同类型的数据,它的关键字为NSDictionary与N…
NSDictionary.NSMutableDictionary的基本用法 1.不可变词典NSDictionary 字典初始化 NSNumber *numObj = [NSNumber numberWithInt:100]; 以一个元素初始化 NSDictionary *dic = [NSDictionary dictionaryWithObject:numObj forKey:@"key"]; 初始化两个元素 NSDictionary *dic = [NSDictionary dic…
词典(dictionary)顾名思义就是同由键-值组成的数据集合.与在词典中查找单词定义一样,可以通过对象的键从词典中获取需要的对象,看到 这里,你是不是想起了java中的map?和NSArray一样,一个词典对象也能保存不同类型的值,词典也分别有不可变词典和可变的词典 (NSDictionary与NSMutableDictionary),前者是线程安全的,后者不是 . 不可变词典NSDictionary [NSDictionary dictionaryWithObjectsAndKeys:..…
在Cocoa Foundation中NSDictionary和NSMutableDictionary 用于对象有序集合,NSDictionary和NSMutableDictionary 与 NSArray和NSMutableArray 有些不一样,前者可以保存多个不同类型的数据,而后者只能保存同一类型的数据. 1.NSDictionary 创建 NSDictionary *dictionary = [NSDictionary dictionaryWithObjectsAndKeys:@"Supe…
一.NSDictionary 字典的两种创建方法 NSDictionary *dic1 =[[NSDictionary alloc]init]; 2 // 或: 3 NSDictionary *dic2 =[NSDictionary dictionary]; // 字典添加数据 NSDictionary *dics1 =[[NSDictionary alloc]initWithObjects:[@"1,2,3" componentsSeparatedByString:@",&…
iOS学习(OC语言)知识点整理 一.OC中的字典 1)字典:是一个容器对象,元素是以键-值对(key-value)形式存放的,key和value是任意类型的对象,key是唯一的,value可以重复 2)OC中的字典有两种 1.不可变字典:NSDictionary,初始化后不能修改其内容 2.可变字典:NSMutableDictionary,初始化后可以修改其内容 二.NSDictionary 字典的操作 1)实例化方法创建字典对象 例如: NSDictionary *dict1=[[NSDic…
NSDictionary    1.什么是字典        字典是也是一种集合结构,功能与我们现实中的字典工具一样    2.字典的元素是什么        任意类型的对象地址构成键值对    3.什么是键值对        键值对是由key和value构成必须一一对应        键值对中的key必须保证是唯一的        4.字典的存储方式       字典是一种无序保存的集合    5.如何查找值        根据键值对中的key找到相应的值===================…
.不可变词典NSDictionary 字典初始化 NSNumber *numObj = [NSNumber numberWithInt:]; 以一个元素初始化 NSDictionary *dic = [NSDictionary dictionaryWithObject:numObj forKey:@"key"]; 初始化两个元素 NSDictionary *dic = [NSDictionary dictionaryWithObjectsAndKeys:numObj, @"v…
字典中的元素是以键值对的形式存储的,键值对的键和值,都是任意的对象,但是键往往使用字符串,字典存储对象的地址没有顺序,字典的遍历分为:键的遍历和值的遍历,字典与数组的区别:数组讲究顺序,而字典可以快速帮助我们找到数据,数据是我们的目的,键是我们的手段;其中NSMutableDictionary是NSDictionary的子类,所以其拥有NSDictionary所有的功能:主要是一些常见的操作,别外一些操作见其相应的文档,下面的代码部分还运用的第三方插件BlocksKit相结合: a:NSDict…
原文网址:http://my.oschina.net/u/1245365/blog/177736 摘要 Foundation中的字典是由 键—值 对组成的数据集合.通过key(键),查找对应的value(值),key通常是字符串对象,也可以是其他任意的对象,但key的值必须是唯一的.此外,字典对象的key 和value的值不可以为空(nil),如果要表示一个空值,可以用NSNull对象 1.NSDictionary (不可变字典) 字典的初始化 //一个key - value NSDiction…
//初始化 NSString *key1 = @"key1"; NSString *key2 = @"key2"; NSString *key3 = @"key3"; NSString *key4 = @"key4"; NSString *key5 = @"key5"; NSString *value1 = @"value1"; NSString *value2 = @"val…
郝萌主倾心贡献,尊重作者的劳动成果.请勿转载. 假设文章对您有所帮助,欢迎给作者捐赠,支持郝萌主,捐赠数额任意,重在心意^_^ 我要捐赠: 点击捐赠 Cocos2d-X源代码下载:点我传送 游戏官方下载:http://dwz.cn/RwTjl 游戏视频预览:http://dwz.cn/RzHHd 游戏开发博客:http://dwz.cn/RzJzI 游戏源代码传送:http://dwz.cn/Nret1 1.不可变词典NSDictionary 字典初始化 NSNumber *numObj = […
NSDictionary概述 NSDictionary的作用类似:通过一个key ,就能找到对应的value 同样 NSDictionary是不可变的,一旦初始化完毕,里面的内容就无法修改 NSDictionary创建 +(instancetype) dictionary; +(instancetype)dictionaryWithObject:(id) object forKey:(id<NSCopying>)key;//objectForKey,根据键取值 +(instancetype)d…
简介:字典是一种数据结构,字典里面的每一个元素,是一个key-value(键值对),key和value都是对象类型.同NSArray一样,里面的对象不用保持一致性. NSDictionary 1.字面量初始化 // 存储时时无序的 NSDictionary *dict = @{"}; // 打印时根据Unicode码排序打印 NSLog(@"%@", dict); 2.实例方法初始化 NSDictionary *dict = [[NSDictionary alloc] ini…
#import <Foundation/Foundation.h> int main(int argc, const char * argv[]) { @autoreleasepool { // NSDictionary *dic=[NSDictionary dictionaryWithObject:@"lnj" forKey:@"name"]; // NSString *name=[dic objectForKey:@"name"]…
1 重构学生与学校的练习 1.1 问题 本案例要求用字典解决下述问题.问题是:有一个学校,该学校有两个学院,每个学院中又有两个班级,而在每个班级中有两名学生. 现在作如下要求: 1)显示所有学生的信息. 2)只显示姓名为“zhangsan”的学生的信息. 3)只显示年龄为18岁的学生的信息. 4)如果每个学生有本书,显示所有学生的书的名称和价格. 1.2 步骤 实现此案例需要按照如下步骤进行. 步骤一:定义类Book 首先,在Day04工程中新添加Book.h文件,用于定义新的类Book. 代码…
一.block声明 1.无参数,无返回值: void (^sayHi)(); 2.有参数,有返回值: NSInteger (^operateOfValue)(NSInteger num); block的声明:返回值类型(^block变量名)(参数列表) 脱字符(^)是块的语法标记 二.block实现 block变量名 = ^返回值类型(参数列表) 1.  sayHi = ^{ NSLog(@"你好"); }; 2. operateOfValue = ^ NSInteger (NSInt…
开始编写应用程序的代码时,可以利用大量的 Objective-C 框架.其中,为所有应用程序提供基本服务的 Foundation 框架尤为重要.Foundation 框架包括表示基本数据类型的值类(如字符串和数字)以及用于储存其他对象的集 (collection) 类.ToDoList 应用程序中的大量代码都可以依靠值类和集类来编写. 值对象 Foundation 框架提供了为字符串.二进制数据.日期与时间.数字以及其他值产生值对象的类. 值对象是指封装了基本值(属于 C 数据类型)且提供与该值…
1 NSDictionary 和 NSMutableDictionary NSDictionary  :就是java中的map; 放入对象是键值对 key-value  , 同样 秉持了一样的原则,只能放入对象,不可本体增删改; (1)初始化方法 + dictionaryWithObject:forKey: + dictionaryWithObjects:forKeys: + dictionaryWithObjectsAndKeys: 这三个是最常用的吧,注意是对象在前,key在后 2 访问 k…
目录: 一.NSSet集合 二.NSDictionary字典 三.block代码块 回到顶部 一.NSSet集合 1 NSSet是一个无序的,管理对个对象的集合类,最大特点是集合中不允许出现重复对象,和数学上的集合含义是一样的.除了无序,不许重复,其他功能和NSArray是一样的. 2 什么叫重复? * 同一个对象 * 两个对象信息值一样 计算机认为的一样是:同一个对象 3 对象的哈希值(hash) * set中确定对象是否是重复的?例如A对象和B对象,先调用A对象的hash方法得到一个整数,在…
一. 字符串 API 1. NSString 用法简介 (1) NSString API 介绍 NSString 功能 : -- 创建字符串 : 使用 init 开头的实例方法, 也可以使用 String 开头的方法; // init 开头方法创建字符串 unichar data[5] = {97, 98, 99, 100, 101}; NSString * str = [[NSString alloc] initWithCharacters : data length : 5]; // str…
前段时间与某公司的技术交流,被问到一个问题,如何删除NSDictionary中的NSNull.当时在纸上写,以前太依赖Xcode编译器了,以至于方法名都写不全,最终也没写出来,我想我肯定被鄙视的体无完肤. 最近有机会实现了一下.先来递归实现方案: // 删除NSArray中的NSNull - (NSMutableArray *)removeNullFromArray:(NSArray *)arr { NSMutableArray *marr = [NSMutableArray array]; f…
转自: http://blog.liuhongwei.cn/iphone/objective-c/ 进军iPhone开发,最大的难点之一就是怪异的Objective C语法了.不过,了解之后才发现,原来仅仅是形式上与C++.Java有差异,属于换汤不换药.如果有C语言基础,又用过C++.Java,2天之内掌握Objective C,没有问题,至少看例子程序会感觉顺眼很多. Objective C脱胎于C语言,苹果版的开发编译环境就是大名鼎鼎的Xcode,其中的Cocoa就是Objective C…
// 数组用系统方法compare做字母的简单排序 NSArray *oldArray = @[@"bac",@"bzd",@"azc",@"azz"]; NSArray *newArray = [oldArray sortedArrayUsingSelector:@selector(compare:)]; NSLog(@"new array = %@",newArray); // 因为NSDictiona…