您的位置:首页 > 其它

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]);

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: