【说明】
1.OC中的字典是一个特殊的类,用来快速查找OC对象【只有OC有】 【C++内叫做map】
2.字典里面的对象是以【键值对】的形式出现的(一个key对应一个值)
key是【键】 【值】是value
3.字典里面的对象不能是奇数
4.字典里面的键可以是任何的一个对象,值也一样
5.字典里面的键值对是没有一个顺序的
【不可变字典】【NSDictionary】
//利用键值对创建字典
//前面是值,后面是键
NSDictionary * dict = [[NSDictionary alloc]initWithObjectsAndKeys:@"one",@"1",@"Two",@"2",@"Three",@"3", nil];
NSLog(@"%@",dict);
//initWithDictionary利用另外的一个字典创建一个新的字典
NSDictionary * dict2 = [[NSDictionary alloc]initWithDictionary:dict];
NSLog(@"%@",dict2);
//利用数组,也就是键的集合以及集的集合创建一个字典
//键是唯一的,不可重复
//值可以相同
//键和值必须一一对应
NSArray * keys = @[@"1",@"2",@"3",@"4",@"5"];
NSArray * values = @[@"one",@"two",@"three",@"three",@"Five"];
NSDictionary * dict3 = [[NSDictionary alloc]initWithObjects:values forKeys:keys];
NSLog(@"%@",dict3);
NSArray * values2 = [dict3 allValues];
NSLog(@"obj=%@",values2);
//枚举键【键是唯一的】
//快速枚举法,遍历字典是字典中唯一的键(key)
for (id obj in dict3){
NSLog(@"%@",[dict3 valueForKey:obj]);
//NSLog(@"%@",obj);【这样的话打印的是键】
}
【可变字典】【NSMutableDictionary】
是继承NSDictionary的,他可以使用所有的NSDictionary方法,在方法中,如果要传入一个’NSDictionary同样可以传入NSMutableDictionary
【选择器】SEL
1.选择器是一个变量的类型
2.函数指针存放的是C语言的函数的首地址,我们可以通过函数指针调用该函数
3.选择器存放的是成员方法或者说是消息