创建可变字典对象
NSMutableDictionary是NSDictionary的子类,所以继承了NSDictionary的方法。
NSMutableDictionary *dict = [NSMutableDictionary dictionaryWithCapacity:10];//创建一个可变字典初始指定它的长度为10,动态的添加数据如果超过10这个字典长度会自动增加,所以不用担心数组越界。
[dict setObject:@"a" forKey:@"A"];
[dict setObject:@"b" forKey:@"B"];
[dict setObject:@"c" forKey:@"C"];
Student *stu1 = [Student studentWithName:@"stu1"];
Student *stu2 = [Student studentWithName:@"stu2"];
//添加元素 stu1的计数会加1
[dict setObject:stu1 forKey:@"s"];
//添加其它字典到当前字典中
NSDictionary *other = [NSDictionary dictionaryWithObject:@"a1" forKey:@"key2"];
[dict addEntriesFromDictionary:other];
NSLog(@"dict = %@",dict);
//通过传入KEY对象可以拿到当前KEY对应储存的值
NSLog(@"%@", [dict objectForKey:@"1"]);
[dict removeAllObjects];删除字典中的所有数据。
[dict removeObjectForKey:@"A"];删除字典中指定KEY的数据
//替换对象
为同一个关键字设置新对象时,cocoa将会替换字典中的原始对象。下面这段代码使用”for”替换了关键字“C”的对象“3”。
NSMutableDictionary *dict = [NSMutableDictionary dictionary];
[dict setObject:@"3" forKey:@"C"];
[dict setObject:@"for" forKey:@"C"];
NSLog(@"dict = %@",[dict objectForKey:@"C"]);
//列出关键字,所有值
字典可以报告它们保存的元素个数,也可以提供当前正在使用的所有关键字的一个数组。
NSMutableDictionary *dict = [NSMutableDictionary dictionary];
[dict setObject:@"3" forKey:@"C"];
[dict setObject:@"for" forKey:@"B"];
NSLog(@"The dictionary has %d objects",[dict count]);
NSLog(@"dict :%@",[dict allKeys]);
NSLog(@"输出所有的value= %@",[dict allValues]);