字典 由键-值对组成的数据集合
4种创建字典方式
1>针对单个键值对 直接赋值
1 NSDictionary *dic = [NSDictionary dictionaryWithObject:@"dajie" forKey:@"name"];//直接创建字典 2 id object = [dic objectForKey:@"name"];// 取出name键对应值 3 NSLog(@"%@",object);
2>以键值对集合创建
1 NSArray *obj = @[@"dajie",@"ly"]; 2 NSArray *keys = @[@"name",@"address"]; 3 NSDictionary *dic1 = [NSDictionary dictionaryWithObjects:obj forKeys:keys];//创建字典 4 NSLog(@"%@",dic1);
3>直接创建并赋值
1 NSDictionary *dic2 = [NSDictionary dictionaryWithObjectsAndKeys:@"dajie",@"name",@"ly",@"address", nil];//nil不可少 2 NSLog(@"\n---%@",dic2);
3 id obj2 = [dic2 objectForKey:@"name"];//根据键取出对应的值
4 NSLog(@"%@",obj2);
4>开发中常用
//xcode 新特性 开发中常用 15 NSDictionary *dic3 = @{@"name" : @"dajie",@"address":@"ly",@"qq":@"12324124"}; 16 NSLog(@"%@\n--%@--%ld",dic3,[dic3 objectForKey:@"name"],dic3.count);
可变字典
2 NSMutableDictionary *mdic = [NSMutableDictionary dictionary];//创建
添加元素和删除元素
//添加键值对 20 [mdic setObject:@"dajie" forKey:@"person"]; 21 [mdic setObject:@"hashiqi" forKey:@"dog"]; 22 [mdic setObject:@"shapi" forKey:@"dog"]; //主键一样字典元素前者会被后者覆盖 23 NSString *str = mdic[@"dog"]; 24 NSLog(@"%@",str); 25 //删除 26 [mdic removeAllObjects]; 27 [mdic removeObjectForKey:@"dog"]; 28 NSLog(@"%@",mdic);
遍历元素
1基本for循环遍历
30 NSDictionary *newDic = @{ 31 @"name": @"dajie", 32 @"dog":@"HASHIQI"
}; 33 NSArray *key = [newDic allKeys];//取出所有的key 34 for (int i; i < newDic.count; i++) { 35 NSString *keys = key[i]; 36 NSString *value = newDic[keys]; 37 NSLog(@"%@ = %@",keys,value); 38 }
2 简洁遍历
//推荐使用 快速遍历 40 [newDic enumerateKeysAndObjectsUsingBlock:^(id key, id obj, BOOL *stop) { 41 NSLog(@"%@ - %@ ",key ,obj ); 42 }];
OC学习笔记 Foundation 集合类 字典Dictionary
原文:http://www.cnblogs.com/zhangdashao/p/4470238.html