OC中的字典NSDictionary
==========================
字典
==========================
NSDictionary * dict = [[NSDictionary alloc] initWithObjectsAndKeys:@"One", @"1", @"Two", @"2", @"Three", @"3", @"One", @"4", nil];
//字典中的数据以键值对的方式进行存储
//@“One”和@“1”组成了一个键值对
//@“1”称为键(key)
//@“One”称为值(value)
//值是需要存储的数据,键是寻找数据的索引
//字典的作用,就是通过键,快速的查找到值。
//值可以重复,键是唯一的。
//字典中的键值对没有顺序,没有所谓第一个键值对,第二个键值对
//键和值都是任意对象,字典中存储对象的地址。不过键往往使用字符串
NSDictionary * dict2 = @{@"4" : @"Four", @"1" : @"One", @"2" : @"Two", @"3" : @"Three"};
NSLog(@"%@", dict);
NSLog(@"%@", dict2);
//通过传入键,返回值的地址
NSString * value = [dict objectForKey:@"3"];
value = dict[@"3"];
//Xcode 4.6 以后
//如果没有对应的键,返回nil
NSLog(@"%@", value);
//返回键值对总数
NSUInteger count = [dict count];
NSLog(@"%lu", count);
//返回所有的键
NSArray * keys = [dict allKeys];
//返回所有的值
NSArray * values = [dict allValues];
//遍历字典
for (NSString * key in dict) {
//每次循环key指向一个键
//通过遍历键,间接遍历了值
NSLog(@"%@", dict[key]);
}
NSMutableDictionary * mutableDict = [[NSMutableDictionary alloc] init];
//重置字典
[mutableDict setDictionary:@{@"1" : @"One", @"2" : @"Two", @"3" : @"Three"}];
//增
[mutableDict setObject:@"Four" forKey:@"4"];
//删
//通过键删除值
[mutableDict removeObjectForKey:@"3"];
//通过多个键,删除多个值
[mutableDict removeObjectsForKeys:@[@"1", @"2", @"3"]];
//删除所有键值对
[mutableDict removeAllObjects];
ΔOC是一门非常优美的语言,名字基本上都是单词的组合,通过名字可以了解这个方法或者这个变量的作用;