NSDictionary 字典
2014-12-20 23:11
204 查看
//=============================================
/*
NSDictionary 字典
没有顺序的
成对出现,一对一的关系,覆盖旧的,保存最新的数据
*/
//==============================================
//创建字典(空的)
// NSDictionary *dict1=[NSDictionary dictionary];
//创建一个存一个元素的字典
NSDictionary *dict2=[NSDictionary dictionaryWithObject:@"jereh" forKey:@"name"];
//取字典中的数据,通过 forKey
[dict2 objectForKey:@"name"];
NSLog(@"%@",[dict2 objectForKey:@"name"]);
//===============================================
// 输出是配对的,但是顺序不一致,是无序的。
NSArray *aryValue=@[@"jereh",@"20",@"1"];
NSArray *aryKeys=@[@"name",@"age",@"no"];
NSDictionary *dict3=[NSDictionary dictionaryWithObjects:aryValue forKeys:aryKeys];
NSLog(@"字典的信息:%@",dict3);
//存储多个信息,(一个值一个key 。。。。。),可读性差,最好是换行写。方便看
NSDictionary *dict4=[NSDictionary dictionaryWithObjectsAndKeys:@"jereh",@"name",
@"20",@"age",
@"1",@"no", nil];
NSLog(@"%@",dict4);
//快速创建,先放key再放对象。,针对不可变的,可变的不可以快速创建。
NSDictionary *dict5=@{@"name": @"jereh",@"age":@"20",@"no":@"1"};
NSLog(@"%@",dict5);
//计算元素个数,打印的是几对元素,不是几个元素。
NSLog(@"%lu", [dict5 count]);
//取出字典中的全部的key
NSArray *keyAry=[dict5 allKeys];
NSLog(@"\n keyAry==%@",keyAry);
//取出字典中全部的Value
NSArray *valueAry=[dict5 allValues];
NSLog(@"\n valueAry==%@",valueAry);
//得到当前对象值对应的全部的key值,用数组存放
NSArray *ary = [dict5 allKeysForObject:@"20"];
NSLog(@"==%@",ary);
//=================================================
/*
NSMutableDictionary 可变的字典
*/
//创建一个可变的空的字典,后续可以继续添加健值对
NSMutableDictionary *dict6=[NSMutableDictionary dictionary];
//添加健值对
//结果打印出来两条信息,健值是唯一的,覆盖旧的信息,保留新的信息,不允许有重复的key,多次对某个key 赋值的时候只是保留最后一个key 的值。
[dict6 setObject:@"jereh" forKey:@"name"];
[dict6 setObject:@"apple" forKey:@"name"];
[dict6 setObject:@"30" forKey:@"age"];
[dict6 setObject:@"33" forKey:@"price"];
NSLog(@"%@",dict6);
//删除信息,取出来所有的key值
NSArray *ary1=[dict6 allKeys];
NSLog(@"%@",ary1);
// [dict6 removeAllObjects];删除所有的信息
[dict6 removeObjectForKey:@"age"];
NSLog(@"%@",dict6);
//删除所有的key值,ary1数组中存放的是所有的 key.
[dict6 removeObjectsForKeys:ary1];
NSLog(@"%@",dict6);
//遍历字典
NSDictionary *dict7=@{@"name": @"jereh",@"age":@"20",@"no":@"1"};
// 1:取出来所有的key值
// NSArray *aryK=[dict7 allKeys];
//
// for(id obj in aryK){
//
// NSLog(@"key=%@ value= %@",obj ,[dict7 objectForKey:obj]);
// }
//
// 2:不取出来所有的key值,直接在字典中遍历
for(id obj in dict7){
NSLog(@"key=%@ value= %@",obj ,[dict7 objectForKey:obj]);
}
/*
NSDictionary 字典
没有顺序的
成对出现,一对一的关系,覆盖旧的,保存最新的数据
*/
//==============================================
//创建字典(空的)
// NSDictionary *dict1=[NSDictionary dictionary];
//创建一个存一个元素的字典
NSDictionary *dict2=[NSDictionary dictionaryWithObject:@"jereh" forKey:@"name"];
//取字典中的数据,通过 forKey
[dict2 objectForKey:@"name"];
NSLog(@"%@",[dict2 objectForKey:@"name"]);
//===============================================
// 输出是配对的,但是顺序不一致,是无序的。
NSArray *aryValue=@[@"jereh",@"20",@"1"];
NSArray *aryKeys=@[@"name",@"age",@"no"];
NSDictionary *dict3=[NSDictionary dictionaryWithObjects:aryValue forKeys:aryKeys];
NSLog(@"字典的信息:%@",dict3);
//存储多个信息,(一个值一个key 。。。。。),可读性差,最好是换行写。方便看
NSDictionary *dict4=[NSDictionary dictionaryWithObjectsAndKeys:@"jereh",@"name",
@"20",@"age",
@"1",@"no", nil];
NSLog(@"%@",dict4);
//快速创建,先放key再放对象。,针对不可变的,可变的不可以快速创建。
NSDictionary *dict5=@{@"name": @"jereh",@"age":@"20",@"no":@"1"};
NSLog(@"%@",dict5);
//计算元素个数,打印的是几对元素,不是几个元素。
NSLog(@"%lu", [dict5 count]);
//取出字典中的全部的key
NSArray *keyAry=[dict5 allKeys];
NSLog(@"\n keyAry==%@",keyAry);
//取出字典中全部的Value
NSArray *valueAry=[dict5 allValues];
NSLog(@"\n valueAry==%@",valueAry);
//得到当前对象值对应的全部的key值,用数组存放
NSArray *ary = [dict5 allKeysForObject:@"20"];
NSLog(@"==%@",ary);
//=================================================
/*
NSMutableDictionary 可变的字典
*/
//创建一个可变的空的字典,后续可以继续添加健值对
NSMutableDictionary *dict6=[NSMutableDictionary dictionary];
//添加健值对
//结果打印出来两条信息,健值是唯一的,覆盖旧的信息,保留新的信息,不允许有重复的key,多次对某个key 赋值的时候只是保留最后一个key 的值。
[dict6 setObject:@"jereh" forKey:@"name"];
[dict6 setObject:@"apple" forKey:@"name"];
[dict6 setObject:@"30" forKey:@"age"];
[dict6 setObject:@"33" forKey:@"price"];
NSLog(@"%@",dict6);
//删除信息,取出来所有的key值
NSArray *ary1=[dict6 allKeys];
NSLog(@"%@",ary1);
// [dict6 removeAllObjects];删除所有的信息
[dict6 removeObjectForKey:@"age"];
NSLog(@"%@",dict6);
//删除所有的key值,ary1数组中存放的是所有的 key.
[dict6 removeObjectsForKeys:ary1];
NSLog(@"%@",dict6);
//遍历字典
NSDictionary *dict7=@{@"name": @"jereh",@"age":@"20",@"no":@"1"};
// 1:取出来所有的key值
// NSArray *aryK=[dict7 allKeys];
//
// for(id obj in aryK){
//
// NSLog(@"key=%@ value= %@",obj ,[dict7 objectForKey:obj]);
// }
//
// 2:不取出来所有的key值,直接在字典中遍历
for(id obj in dict7){
NSLog(@"key=%@ value= %@",obj ,[dict7 objectForKey:obj]);
}
相关文章推荐
- 使用第三方库导致NSLog打印数组NSArray或字典NSDictionary时出现\U开头乱码的解决办法
- 20150612_OC之字典NSDictionary及NSMutableDictionary
- 【IOS 开发学习总结-OC-31】★★OC之foundation 框架——字典(NSDictionary 与 NSMutableDictionary)
- 字典(NSDictionary)和JSON字符串(NSString)之间互转
- OC字典(NSDictionary)和集合(NSSet)的总结
- iOS开发--字典(NSDictionary)和JSON字符串(NSString)之间互转
- OC之字典(NSDictionary, NSMutableDictionary)
- 不可变字典NSDictionary和可变字典NSMutableDictionary
- 字典NSDictionary
- NSDictionary 字典类
- IOS字典NSDictionary与NSMutableDictionary知识点
- 字典对象(NSDictionary 和 NSMutableDictionary)-Objective-C
- objective-c NSDictionary(字典)
- Objective-C语法-字典NSDictionary和可变字典NSMutableDictionary
- Foundation-02字典NSDictionary 和NSMultableDictionary
- Object-c学习之路九(字典(NSDictionary&NSMutableDictionary))
- iOS开发:字典(NSDictionary)和数组( NSArray)转换成字符串
- 漫步IOS--字典类(NSDictionary)
- NSDictionary使用小结(字典)
- oc中的字典NSDictionary