您的位置:首页 > 移动开发 > Objective-C

objective-c可变字典

2015-06-16 22:06 651 查看
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":@"110119",@"nick":@"小花",@"header":@"www.baidu.headeerImage.png",@"balance":@"100",};

NSDictionary *dictionary1 = @{@"code":@"200",@"data":date};

NSLog(@"%@",dictionary1);

// 可变数组

NSMutableDictionary *dict = [NSMutableDictionary dictionary];

[dict setObject:@(200) 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 200:{

NSLog(@"登陆成功");

NSDictionary *userInfo = dict[@"data"];

NSLog(@"呢称是%@",userInfo[@"nick"]);

}

break;

case 300:

NSLog(@"返回数据失败");

break;

case 310:

NSLog(@"用户失效");

break;

default:

NSLog(@"未知错误");

break;

}

//

NSMutableDictionary *liuDic0 = [NSMutableDictionary dictionary];

[liuDic0 setObject:@(200) forKey:@"code"];

NSDictionary *liuData0 = @{@"id":@"LiYongJun250",@"name":@"LiYongJun250",@"phone":@"15761672937",@"balance":@"1000.10",@"msgnum":@"20"};

[liuDic0 setValue:liuData0 forKey:@"data"];

NSMutableDictionary *liuDic1 = [NSMutableDictionary dictionary];

[liuDic1 setObject:@(200) 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,@(111),@(2222),@(33333)];

NSLog(@"%@",arr);

NSDictionary *dicti = arr[0];

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;

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