Objective-C 初窥之字典(Dic)
来源:互联网 发布:fanuc 电池 数据全清 编辑:程序博客网 时间:2024/05/27 16:43
1 前言
今天我们来学习一下Objective-C 中的字典,类似Java里的Map是key-value的形式进行存储的。
2 NSDictionary简介
NSDictionary这种容器与NSArray一样,是不可变的。
它将 键-值关联起来,使用它,你可以方便高效的利用键值检索数据。
一个键只能对应一个值,一个值却可以有很多键。
通常,键可以是任何遵循NSCopying协议的对象,但是通常是一个NSString,键值和数据必须不为nil,如果想表示一个空的值,则用NSNull。
通过setValue增加字典元素,然后调用objectForKey取出元素,NSDictionary类主要使用就是这两个操作。但是,如果将普通的字符串对象换成另外NSDictionary对象,二另外的NSDictionary对象又可以包含NSArray,NSDictionary等各种对象,从而可以创建非常复杂的数据结构,NSDictionary的灵活和强大作用才真正显示出来。
2.1 创建字典
NSDictionary *dict = [NSDictionary dictionaryWithObjectsAndKeys:@"value1", @"key1", @"value2", @"key2", nil];
初始化一个新的已分配好内存的字典,这个字典的内容包括了,value是一个objects的数组,key是一个keys的数组。
- (id)initWithObjectsAndKeys:(id)firstObject , ...初始化一个新的字典,这个字典的内容根据传入的 object,key 而定
比如:
NSDictionary *dict = [[NSDictionary alloc] initWithObjectsAndKeys:@"value1", @"key1", @"value2", @"key2", nil];2.2 查询内容个数,比较
- (NSUInteger)count //返回字典的key数。- (BOOL)isEqualToDictionary:(NSDictionary *)otherDictionary //比较两个字典2.3 访问 键和值 (key - value)
- (NSArray *)allKeys //返回一个数组,数组里包含的是所有的key- (NSArray *)allValues //返回一个数组,数组里包含的是所有的value- (id)objectForKey : (id)aKey //返回给定key与之关联的value,若key不存在,返回nil.- (id)valueForKey:(NSString *)key //返回给定key与之关联的value
3 NSMutableDictionary简介
Mutable version of NSDictionary.它是NSDictionary的可变版本。
+(id)dictionaryWithCapacity:size //创建一个size大小的可变字典-(id)initWithCapacity:size //初始化一个size大小的可变字典-(void)removeAllObjects //删除字典中所有元素-(void)removeObjectForKey:key //删除字典key位置的元素-(void)setObject:obj forKey:key //增加(obj,key)到字典中,若key已经存在,则替换值为obj
- Objective-C 初窥之字典(Dic)
- Python如何在dic(字典)里面添加dic(字典) 附dic基础知识
- Objective-C基础之字典
- python 中字典(dic)的用法
- objective-c 中数据类型之四 字典(NSDictionary)
- objective-c 编程基础(3.7 Foundation框架之字典)
- ios objective-c之-9:字典,可变字典 (NSDictonary NSMutableDictoray)
- #Objective-C 之 省市区 (数组-字典-数组-字典-数组)
- python dic 字典排序
- objective-c dictionary(字典)
- objective-c dictionary(字典)
- objective-c字典
- Objective-C 字典小结
- objective-c NSDictionary(字典)
- Objective-C 字典
- Objective-c-字典使用
- objective-c dictionary(字典)
- Objective-C初窥之Objective-C简介
- .Net网站资源全集合
- .net session、cookie、application 小结
- ubuntu 下搭建arm-linux-gcc 命令未找到问题
- 基于dwr2.0的Push推送技术详细解析以及实例
- android 转 比较好的widget讲解
- Objective-C 初窥之字典(Dic)
- c#冒泡排序
- core dump解析(4)
- 在MacOS和iOS上使用VPN的几个问题(MTU太大导致打不开网页)
- [转载]Java基础 之软引用、弱引用、虚引用 ·
- build open office
- 工厂模式
- ER图的画法
- 《C#入门到精通》学习笔记 -- const 与 readonly