1 #pragma mark *****************************字典********************************
2 // 字典:通过key来取值的 key值必须是成对出现的,key不能为空(nil)
3 NSDictionary *dic = [NSDictionary dictionaryWithObjectsAndKeys:@"object",@"key",@"object2",@"key2", nil];
4 NSDictionary *dic1 = @{@"key1":@"object1",@"key2":@"object2",@"key3":@"object3",@"key4":@"object4"};
5 NSLog(@"%@",[dic objectForKey:@"key"]);
6 NSLog(@"%@",dic1[@"key2"]);
7 // dic.allKeys可以取出dic中所有的key值;
8 NSLog(@"%@",dic1.allKeys);
9 for(NSString *key in dic1.allKeys){
NSLog(@"%@",[dic1 objectForKey: key]);
}
#pragma mark *****************************可变字典********************************
// 可变字典:可以删除、替换(添加)
// NSMutableDictionary 可变字典的类名
NSMutableDictionary *dictionary = [NSMutableDictionary dictionary];//初始化了一个空字典
[dictionary setObject:@"iphone " forKey:@"phone"];
[dictionary setObject:@"htc" forKey:@"phone"];
NSLog(@"%@",dictionary);
[dictionary removeObjectForKey:@"phone"];
NSLog(@"%@",dictionary);
// 不可以这种方式初始化NSMutableDictionary *dictionary =@{@"key1":@"object1",@"key2":@"object2"};
#pragma mark **************************字典之间的嵌套******************************
// 不可变数组
NSDictionary *date = @{@"id":@"",@"nick":@"小花",@"header":@"www.baidu.headeerImage.png",@"balance":@"",};
NSDictionary *dictionary1 = @{@"code":@"",@"data":date};
NSLog(@"%@",dictionary1);
// 可变数组
NSMutableDictionary *dict = [NSMutableDictionary dictionary];
[dict setObject:@() forKey:@"code"];
[dict setObject:date forKey:@"data"];
NSLog(@"%@",dict);
NSMutableDictionary *dict1 = [dict[@"data"] mutableCopy];
[dict1 setObject:@"www.baidu.taobao.Image.png" forKey:@"header"];
NSLog(@"%@",dict1);
// 输出呢称
NSLog(@"呢称是:%@",dictionary1[@"data"][@"nick"]);
// 判断code值是不是200,如果code的返回值是200 输出data字典里面的所有内容,如果不是200输出返回数据失败
switch ([dict[@"code"] integerValue]) {
case :{
NSLog(@"登陆成功");
NSDictionary *userInfo = dict[@"data"];
NSLog(@"呢称是%@",userInfo[@"nick"]);
}
break;
case :
NSLog(@"返回数据失败");
break;
case :
NSLog(@"用户失效");
break;
default:
NSLog(@"未知错误");
break;
}
//
NSMutableDictionary *liuDic0 = [NSMutableDictionary dictionary];
[liuDic0 setObject:@() forKey:@"code"];
NSDictionary *liuData0 = @{@"id":@"LiYongJun250",@"name":@"LiYongJun250",@"phone":@"",@"balance":@"1000.10",@"msgnum":@""};
[liuDic0 setValue:liuData0 forKey:@"data"];
NSMutableDictionary *liuDic1 = [NSMutableDictionary dictionary];
[liuDic1 setObject:@() forKey:@"code"];
NSDictionary *liuData1 = @{@"version":@"1.0.1",@"desc":@"LiYongJun250",@"url":@"www.baidu.LiYongJun250.com"};
[liuDic1 setObject:liuData1 forKey:@"data"];
NSInteger phoneNum = [liuDic0[@"data"][@"phone"] integerValue];
NSLog(@"手机号是:%ld",phoneNum);
NSLog(@"下载地址是:%@",liuDic1[@"data"][@"url"]);
#pragma mark **************************字典与数组之间的嵌套******************************
NSArray *arr = @[liuData0,@(),@(),@()];
NSLog(@"%@",arr);
NSDictionary *dicti = arr[];
NSLog(@"%@",dicti);
执行结果:
2015-06-24 19:45:28.258 OC-NO-4-可变数组[806:83680] object
2015-06-24 19:45:28.259 OC-NO-4-可变数组[806:83680] object2
2015-06-24 19:45:28.260 OC-NO-4-可变数组[806:83680] (
key3,
key1,
key4,
key2
)
2015-06-24 19:45:28.260 OC-NO-4-可变数组[806:83680] object3
2015-06-24 19:45:28.260 OC-NO-4-可变数组[806:83680] object1
2015-06-24 19:45:28.260 OC-NO-4-可变数组[806:83680] object4
2015-06-24 19:45:28.260 OC-NO-4-可变数组[806:83680] object2
2015-06-24 19:45:28.260 OC-NO-4-可变数组[806:83680] {
phone = htc;
}
2015-06-24 19:45:28.260 OC-NO-4-可变数组[806:83680] {
}
2015-06-24 19:45:28.261 OC-NO-4-可变数组[806:83680] {
code = 200;
data = {
balance = 100;
header = "www.baidu.headeerImage.png";
id = 110119;
nick = "\U5c0f\U82b1";
};
}
2015-06-24 19:45:28.261 OC-NO-4-可变数组[806:83680] {
code = 200;
data = {
balance = 100;
header = "www.baidu.headeerImage.png";
id = 110119;
nick = "\U5c0f\U82b1";
};
}
2015-06-24 19:45:28.261 OC-NO-4-可变数组[806:83680] {
balance = 100;
header = "www.baidu.taobao.Image.png";
id = 110119;
nick = "\U5c0f\U82b1";
}
2015-06-24 19:45:28.299 OC-NO-4-可变数组[806:83680] 呢称是:小花
2015-06-24 19:45:28.299 OC-NO-4-可变数组[806:83680] 登陆成功
2015-06-24 19:45:28.300 OC-NO-4-可变数组[806:83680] 呢称是小花
2015-06-24 19:45:28.300 OC-NO-4-可变数组[806:83680] 手机号是:15761672937
2015-06-24 19:45:28.300 OC-NO-4-可变数组[806:83680] 下载地址是:www.baidu.LiYongJun250.com
2015-06-24 19:45:28.301 OC-NO-4-可变数组[806:83680] (
{
balance = "1000.10";
id = LiYongJun250;
msgnum = 20;
name = LiYongJun250;
phone = 15761672937;
},
111,
2222,
33333
)
2015-06-24 19:45:28.301 OC-NO-4-可变数组[806:83680] {
balance = "1000.10";
id = LiYongJun250;
msgnum = 20;
name = LiYongJun250;
phone = 15761672937;
}