objective-c可变字典

@import url(http://i.cnblogs.com/Load.ashx?type=style&file=SyntaxHighlighter.css);@import url(/css/cuteeditor.css);

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){
10             NSLog(@"%@",[dic1 objectForKey: key]);
11         }
12 #pragma mark *****************************可变字典********************************
13 //        可变字典:可以删除、替换(添加)
14 //        NSMutableDictionary 可变字典的类名
15         NSMutableDictionary *dictionary = [NSMutableDictionary dictionary];//初始化了一个空字典
16         [dictionary setObject:@"iphone " forKey:@"phone"];
17         
18         [dictionary setObject:@"htc" forKey:@"phone"];
19         NSLog(@"%@",dictionary);
20         [dictionary removeObjectForKey:@"phone"];
21         NSLog(@"%@",dictionary);
22 //        不可以这种方式初始化NSMutableDictionary *dictionary [email protected]{@"key1":@"object1",@"key2":@"object2"};
23 #pragma mark **************************字典之间的嵌套******************************
24 //        不可变数组
25         NSDictionary *date = @{@"id":@"110119",@"nick":@"小花",@"header":@"www.baidu.headeerImage.png",@"balance":@"100",};
26         NSDictionary *dictionary1 = @{@"code":@"200",@"data":date};
27         NSLog(@"%@",dictionary1);
28 //      可变数组
29         NSMutableDictionary *dict = [NSMutableDictionary dictionary];
30         [dict setObject:@(200) forKey:@"code"];
31         [dict setObject:date forKey:@"data"];
32         
33         NSLog(@"%@",dict);
34         NSMutableDictionary *dict1 = [dict[@"data"] mutableCopy];
35         [dict1 setObject:@"www.baidu.taobao.Image.png" forKey:@"header"];
36         NSLog(@"%@",dict1);
37 //        输出呢称
38         NSLog(@"呢称是:%@",dictionary1[@"data"][@"nick"]);
39         
40 //        判断code值是不是200,如果code的返回值是200 输出data字典里面的所有内容,如果不是200输出返回数据失败
41         switch ([dict[@"code"] integerValue]) {
42             case 200:{
43                 NSLog(@"登陆成功");
44                 NSDictionary *userInfo = dict[@"data"];
45                 NSLog(@"呢称是%@",userInfo[@"nick"]);
46             }
47                 break;
48             case 300:
49                 NSLog(@"返回数据失败");
50                 break;
51             case 310:
52                 NSLog(@"用户失效");
53                 break;
54             default:
55                 NSLog(@"未知错误");
56                 break;
57         }
58 //        
59       
60         
61         
62         NSMutableDictionary *liuDic0 = [NSMutableDictionary dictionary];
63         [liuDic0 setObject:@(200) forKey:@"code"];
64         NSDictionary *liuData0 = @{@"id":@"LiYongJun250",@"name":@"LiYongJun250",@"phone":@"15761672937",@"balance":@"1000.10",@"msgnum":@"20"};
65         [liuDic0 setValue:liuData0 forKey:@"data"];
66         
67         NSMutableDictionary *liuDic1 = [NSMutableDictionary dictionary];
68         [liuDic1 setObject:@(200) forKey:@"code"];
69         
70         NSDictionary *liuData1 = @{@"version":@"1.0.1",@"desc":@"LiYongJun250",@"url":@"www.baidu.LiYongJun250.com"};
71         [liuDic1 setObject:liuData1 forKey:@"data"];
72         NSInteger phoneNum = [liuDic0[@"data"][@"phone"] integerValue];
73         NSLog(@"手机号是:%ld",phoneNum);
74         NSLog(@"下载地址是:%@",liuDic1[@"data"][@"url"]);
75         
76         
77 #pragma mark **************************字典与数组之间的嵌套******************************
78         
79         NSArray *arr = @[liuData0,@(111),@(2222),@(33333)];
80         NSLog(@"%@",arr);
81         NSDictionary *dicti = arr[0];
82         NSLog(@"%@",dicti);
83

执行结果:

@import url(http://i.cnblogs.com/Load.ashx?type=style&file=SyntaxHighlighter.css);@import url(/css/cuteeditor.css);

时间: 2024-08-06 20:02:45

objective-c可变字典的相关文章

Objective - C NSDictionary不可变字典和NSMutableDictionary可变字典

//创建一个不可变的字典对象 //便利构造器创建 NSDictionary *dic = [NSDictionary dictionaryWithObjectsAndKeys:@"zhonger", @"name2", @"taixu", @"name1", @"caicai", @"name3", nil]; //初始化方法 //先给value 再给key NSDictionary *

OC基础 可变字典与不可变字典的使用

OC基础 可变字典与不可变字典的使用 1.不可变字典 1.1创建不可变字典 //创建字典 //注意: //1,元素个数是偶数 //2,每两个元素是一个键值对 //3,值在前,键在后 NSDictionary *dic = [[NSDictionary alloc] initWithObjectsAndKeys:@"huang",@"name",@"30",@"age", nil]; NSLog(@"%@",

Objective-C 字典、可变字典

字典相当于c++ stl中的map 字典NSDictionary 1 #import <UIKit/UIKit.h> 2 #import "AppDelegate.h" 3 4 int main(int argc, char * argv[]) { 5 // 从@符号创建字典 实际上就是键值对容器 6 NSDictionary *dict = @{@"name":@"zhangsan",@"sex":@"

利用runtime,避免UIButton 重复点击, 可变数组和可变字典为nil,或者数组越界导致的崩溃

Demo链接: https://github.com/ShaoWenLe/Runtimer-Demo.git 参考文章: http://www.jianshu.com/p/080a238c62b9 相关Runtime介绍: http://www.cocoachina.com/ios/20160523/16386.html http://www.cocoachina.com/ios/20160628/16843.html 1 #import <Foundation/Foundation.h> 2

字典与可变字典

字典的定义以及使用 不可变字典 1.在字典里 键 和 值是成对出现的    字典是通过键(Key)来存取值的且每一个值对应的Key是唯一的   字典的类名是NSDictionary 2.字典的定义  (1)初始化一个空字典 NSDictionary *dic = [[NSDictionary alloc] init]; NSDictionary *dic1 = [NSDictionary dictionary]; (2)初始化的同时添加一对键值  这种定义方式是前面是值(id)  后面是键 NS

OC中关于字典(可变字典)的使用---连载三

可变字典使用举例: 设计一个学生类Student, 有这些属性:name(姓名).age(年龄).score(分数).(classNum)班级 (1)将如下学生添加到数组中 姓名年龄分数班级 Tom1782Class01 Jim2275Class01 Jerry3454Class01 Owen2298Class04 Steve1977Class05 (2)计算所有学生的平均分(年级的平均分) (3)计算各个班级的平均分 (4)用名字作为key, value是学生对象,将这些学生存入字典. mai

不可变字典 赋值 求字典里有多少对 获取字典里所有value值 获取所有考值

#import <Foundation/Foundation.h> int main(int argc, const char * argv[]) { @autoreleasepool { /*字典:NSDictionary 存储数据用的   和数组的区别:字典使用键值方式.无序的 2 相当于我们使用字典通过目录来查找具体字的解释 3 用key-value的形式数据,value作用用来存储数据,key用来检索数据 4 cocoa中的字典:可变/不可变 注意: 1.key通常是字符串对象,可以是

OC中NSDictionary(字典)、NSMutableDictionary(可变字典)、NSSet(集合)、NSMutableSet(可变集合)得常用方法

字典用于保存具有映射关系数据的集合 一个key—value对认为是一个条目(entry),字典是存储key—value对的容器 与数组不同,字典靠key存取元素 key不能重复,value必须是对象 键值对在字典中是无序存储的 字典分:不可变字典(NSDictionary)和可变字典(NSMutableDictionary) 不可变字典一旦创建,键值对就不可更改,不可添加,不可删除,仅能读取key或者value 常用方法有: 1.创建字典对象 2.获取所有key值,获取所有value值 3.通过

iosOC不可变字典和可变字典

//key 和 value 都属于(id)对象类型 //key常用字符串NSString来表示 //存储数值型 一般可用 NSString //int  age ->@(age) //  [dic[name] intValue]; //   @()-->转成NSNumber 类型 //     intValue //value可以使任意对象(NSString  NSArrray , dog  ) //NSDictionary 一旦创建不能修改增加删除 #pragma mark 字典的创建 NS