//NSDictionary 定义一个字典的关键字
//字典中的键值对没有先后顺序
//功能:提升程序的运行效率
//键值对必须成对出现
//********用实例方法创建字典************
//@"one"是值,@"1"是键
NSDictionary *dic = [[NSDictionary alloc] initWithObjectsAndKeys:@"one",@"3",@"two",@"2",@"three",@"1",nil];
NSLog(@"dic =%@",dic);
//用一个字典构造一个字典
NSDictionary *dic1 = [[NSDictionary alloc] initWithDictionary:dic];
NSLog(@"dic1=%@",dic1);
//利用数组对象创建字典
//(instancetype)initWithObjects:(NSArray *)objects forKeys:(NSArray *)keys;
NSArray *value = @[@"one",@"two",@"three"];
NSArray *key = @[@"1",@"2",@"3"];
NSDictionary * dic2 = [[NSDictionary alloc] initWithObjects:value forKeys:key];
NSLog(@"dic2=%@",dic2);
//********用类方法创建字典************
NSDictionary *dic3 = [NSDictionary dictionaryWithObjects:value forKeys:key ];
NSLog(@"dic3=%@",dic3);
//********************遍历一个字典*****************
//方法1:枚举器法
//获取字典的成员键值对数量
NSInteger cnt = [dic count];
NSLog(@"cnt=%ld",cnt);
//获取指定键的键值
NSLog(@"obj=%@",[dic objectForKey:@"1"]);
NSEnumerator *enume = [dic keyEnumerator];
id key1 = nil;
//关联key1和枚举器
while (key1 = [enume nextObject]) {
//按key1值调取字典key对应的值
NSLog(@"dic = %@",[dic objectForKey:key1]);
}
//方法2:快速枚举法
for (id key in dic) {
NSLog(@"dic=%@",[dic objectForKey:key]);
}
//获取字典里所有的键
NSArray *keyArray = [dic allKeys];
NSLog(@"key=%@",keyArray);
//获取字典里所有的值
NSArray *allValue = [dic allValues];
NSLog(@"value=%@",allValue);