NSDictionary用法整理
2019-02-20 本文已影响0人
乂iang
Dictionary 简介
ObjectC同一个词典对象中可以保存多个不同类型的数据,不像Java与C只能保存声明的相同类型的数据。
不可修改的字典对象 NSDictionary
可修改的字典对象 NSMutableDictionary
与数组对比
创建方法不同:@[array] @{dictionary}
数组可以通过整数索引存取,字典需要通过键(key)来存取,不能使用索引。
NSDictionary用法两个
-
可变数据结构
使用 NSOjbect子类 需先定义好属性
大部分模型有有个的定义和特定的数据处理方式 不适合用简单的键值对管理 -
查询表
比如以下的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]);
}
问题
使用字典之后,东西会从内存转移到文件系统中吗?