NSDictionary /NSMutableDictionary
1.概念:字典是关键字key及其定义的值value所构成的集合,即它是由key-value组成的键值队的集合。通常来讲,key一般是NSString类型,value是OC中任意的对象。对于字典来讲,我们就是通过key来访问value
2.为什么在有了数组后,还需要有字典呢?在有大量的数据或频繁的查找信息,使用字典效率更高。因为字典是采用键查询的优化存储方式。
3.在OC中我们使用NSDictionary和NSMutableDictionary来表示字典,其中NSMutableDictionary是NSDictionary子类。
4.字典初始化
//创建一个空的字典
NSDictionary *dictionary1 = [[NSDictionary alloc] init];
NSDictionary *dictionary2 = [NSDictionary dictionary];
//创建一个键值队的字典
NSDictionary *dictionary3 = [NSDictionary dictionaryWithObject:@"vincent" forKey:@"name"];
//创建多个键值队的字典
NSDictionary *dictionary4 = [NSDictionary dictionaryWithObjectsAndKeys:@"vincent",@"name",@24,@"age",@"广州",@"address", nil];
//value在前,key在后,value和key要成双出现
NSLog(@"dictionary4 = %@",dictionary4);
//根据一个字典创建一个字典
NSDictionary *dictionary5 = [NSDictionary dictionaryWithDictionary:dictionary4];
//新语法创建字典
NSDictionary *dictionary6 = @{};
NSDictionary *dictionary7 = @{@"name":@"vincent"};
NSDictionary *dictionary8 = @{@"name":@"vincent",@"age":@24,@"address":@"广州"};
NSDictionary *dictionary11 = [NSMutableDictionary dictionaryWithContentsOfFile:@""];
NSDictionary *dictionary12 = [NSMutableDictionary dictionaryWithContentsOfURL:[NSURL URLWithString:
5.键值对数量
NSUInteger count = dictionary4.count;
6.如何访问字典中元素
//通过key来访问字典中对应的值
NSString *name = [dictionary4 objectForKey:@"name"];
//新语法
NSString *newName = dictionary4[@"name"];
//如何遍历字典中的所有值?
//表示字典中所有的key
NSArray *keysArray = dictionary4.allKeys;
//表示字典中所有的value
NSArray *valuesArray = dictionary4.allValues;
for (NSString *key in keysArray) {
NSLog(@"%@ : %@",key,dictionary4[key]);
}
enumerator = dictionary4.keyEnumerator;
NSString *key;
while (key = [enumerator nextObject]) {
NSLog(@"%@ : %@",key,dictionary4[key]);
}
7.在字典中不能够存在相同key,能够存在相同的value
8.在字典中键值对是无序的
本文详细介绍了Objective-C中的字典实现方式,包括NSDictionary和NSMutableDictionary的基本概念、应用场景、创建及初始化方法,并提供了实例代码,帮助读者理解如何高效地使用这两种字典。
122

被折叠的 条评论
为什么被折叠?



