NSDictionary用法整理

Dictionary 简介

ObjectC同一个词典对象中可以保存多个不同类型的数据,不像Java与C只能保存声明的相同类型的数据。

不可修改的字典对象 NSDictionary

可修改的字典对象 NSMutableDictionary

与数组对比

创建方法不同:@[array] @{dictionary}
数组可以通过整数索引存取,字典需要通过键(key)来存取,不能使用索引。

NSDictionary用法两个

  1. 可变数据结构
    使用 NSOjbect子类 需先定义好属性
    大部分模型有有个的定义和特定的数据处理方式 不适合用简单的键值对管理

  2. 查询表
    比如以下的if else用法,是我们常见到的。
    if(...)
    a="";
    if(...)
    a="";
    可以换为键值对的方式,然后进行查询。
    这种方法还有一个优点是不需要硬编码,可以保存在文件系统。

使用

创建并使用NSDictionary

NSMutableDictionary *mutableDictionary=[NSMutableDictionary dictionaryWithCapacity:3];
[mutableDictionary setObject:@"a" forKey:@"name"];
[mutableDictionary setObject:@"cai" forKey:@"webName"];
[mutableDictionary setObject:@26 forKey:@"age"];

利用cocoa touch 生成uuid作为key

_dateCreated = [[NSDate alloc] init];
NSUUID *uuid = [[NSUUID alloc]init];
NSString *key = [uuid UUIDString];

得到词典中的所有key

NSEnumerator *enumeratorkey=[mutableDictionary keyEnumerator];
for (NSObject *obj in enumeratorkey) {
    NSLog(@"key为:%@",obj);
    NSLog(@"通过key找到value值为:%@",[mutableDictionary objectForKey:obj]);
}

问题

使用字典之后,东西会从内存转移到文件系统中吗?

你可能感兴趣的:(NSDictionary用法整理)