Objective-c 字典对象 (NSDictionary 跟 NSMutableDictionary )

Objective-c 字典对象 (NSDictionary 和 NSMutableDictionary )
NSDictionary的作用同JAVA中的字典相同,提供了“健-值”对的集合。

比如,使用字典实现员工编号到员工姓名的存放,编号是一个键(唯一性),姓名是值.

NSDictionary例子:

//用dictionaryWithObjectsAndkeys初始化一个静态字典,记住以nil结束
NSDictionary *employes = [NSDictionary dictionaryWithObjectsAndKeys:@"张三",@"1", @"李四",@"2",@"王五",@"3",nil];
NSString *firstEmployes = [employes objectForKey:@"1"];

NSMutableDictionary例子:

//用dictionary初始化一个动态字典
NSMutableDictionary *employes = [NSMutableDictionary dictionary];
[employes setObject:@"张三" forKey:@"1"];  //增加一个键-值
[employes setObject:@"李四" forKey:@"2"];  //增加一个键-值
[employes setObject:@"王五" forKey:@"3"];  //增加一个键-值

//输出
NSLog(@"No:1,%@",[employes objectForKey:@"1"]);
NSLog(@"No:2,%@",[employes objectForKey:@"2"]);
NSLog(@"No:3,%@",[employes objectForKey:@"3"]);

【程序输出】

1,张三
2,李四
3,王五

NSDictionary常用方法:

+(id)dictionaryWithObjectsAndKeys:obj1,obj2,...nil      //顺序增加对象和键值来创建一个字典。
-(id)initWithObjectsAndKeys:obj1,key1,obj2,key2,...nil  //初始化一个新分配的字典,顺序增加对象和值
-(unsigned int)count                                    //返回字典中记录数
-(NSEnumerator*)keyEnumerator                           //返回字典中所有的键到一个NSEnumerator对象
-(NSArray*)keysSortedByValueUsingSelector:(SEL)selector //用Selector指定的方法时行排序
-(NSEnumerator*)objectEnumerator                        //返回字典中的值到一个NSEnumerator类型对象
-(id)objectForKey:key                                   //返回指定key的值

NSMutableDictionary常用方法:

+(id)dictionaryWithCapacity:size    //创建一个size大小的可变字典
-(id)initWithCapacity:size          //初始化一个size大小的可变字典
-(void)removeAllObjects             //删除字典中所有元素
-(void)removeObjectForKey:key       //删除字典key位置的元素
-(void)setObject:obj forKey:key     //增加(obj,key)到字典中,若key已经存在,则替换值为obj