objective-c可变字典
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;
}
objective-c可变字典的更多相关文章
- OC中NSDictionary(字典)、NSMutableDictionary(可变字典)、NSSet(集合)、NSMutableSet(可变集合)得常用方法
字典用于保存具有映射关系数据的集合 一个key—value对认为是一个条目(entry),字典是存储key—value对的容器 与数组不同,字典靠key存取元素 key不能重复,value必须是对象 ...
- 可变字典 NSMutableDictionary
存到nsuesrDefault里面一个可变字典,然后用一个可变字典去接收. NSMutableDictionary *dic = [[NSUserDefaults standardUserDefaul ...
- OC基础 可变字典与不可变字典的使用
OC基础 可变字典与不可变字典的使用 1.不可变字典 1.1创建不可变字典 //创建字典 //注意: //1,元素个数是偶数 //2,每两个元素是一个键值对 //3,值在前,键在后 NSDiction ...
- Objective-C 字典、可变字典
字典相当于c++ stl中的map 字典NSDictionary #import <UIKit/UIKit.h> #import "AppDelegate.h" int ...
- iosOC不可变字典和可变字典
//key 和 value 都属于(id)对象类型 //key常用字符串NSString来表示 //存储数值型 一般可用 NSString //int age ->@(age) // [di ...
- iOS 多线程安全 与 可变字典
这周最大的收获是稍稍通透了 多线程安全字典的重要性. 诱因是,发现了有字典坏地址错误 果断以为是 value 或者 key 是可能出现了空值,补充了潜在的判断,虽然有的位置已经预判断的,但 ...
- NSDictionary字典创建,获取,遍历,可变字典的删除 - iOS
字典是以键值对的形式来存储数据 key value 1 NSDictionary 字典 1.1 创建字典,不可变的 NSDictionary * dic = [NSDictionary diction ...
- python 不可变字典 inmutabledict的实现
python inmutabledict的实现 关于在python中如何实现不可变字典的方法.早在pep416中,就建议python官方实现inmutabledict,但是官方否认了.理由主要是 根据 ...
- oc75--不可变字典NSDictionary
// // main.m // NSDictionary // // #import <Foundation/Foundation.h> int main(int argc, const ...
随机推荐
- Maven工程中报 Missing artifact jdk.tools:jdk.tools:
jdk.tools:jdk.tools是与JDK一起分发的一个JAR文件,可以如下方式加入到Maven项目中:<dependency> <groupId>jdk.tool ...
- Redis的一些坑
转载请注明出处哈:http://carlosfu.iteye.com/blog/2254154 上上周和同事(龙哥)参加了360组织的互联网技术训练营第三期,美团网的DBA负责人侯军伟给大家介绍了美团 ...
- git之remote branch controller(远程分支控制)
1.创建本地分支 git branch //查看远程分支 git checkout -b branch_name //创建远程分支 在查看分支git branch 2.将分支提交到远程仓库 此时远程 ...
- laravel中间件-----------middleware
middleware中间件 是访问到达服务器后在被对应的路由处理之前所经过的一层过滤层,故称中间件. 中间件是存放在app\http\middleware中,需要定一个 handle 处理方法,在ha ...
- 元素间距属性(scrollLeft,scrollWidth,clientWidth,offsetWidth,padding,margin)
scrollHeight: 获取对象的滚动高度.scrollLeft:设置或获取位于对象左边界和窗口中目前可见内容的最左端之间的距离scrollTop:设置或获取位于对象最顶端和窗口中可见内容的最顶端 ...
- unity3d 关于断点下载和整个下载(用于更新)
转自:http://blog.csdn.net/yutyliu/article/details/24346459 string t = ""; //整体下载 IEnumerator ...
- Android学习笔记(十五)——实战:强制下线
//此系列博文是<第一行Android代码>的学习笔记,如有错漏,欢迎指正! 实现强制下线功能的思路也比较简单,只需要在界面上弹出一个对话框, 让用户无法进行任何其他操作, 必须要点击对话 ...
- [HDU4507]吉哥系列故事——恨7不成妻
[HDU4507]吉哥系列故事--恨7不成妻 试题描述 单身!依然单身!吉哥依然单身!DS级码农吉哥依然单身!所以,他生平最恨情人节,不管是214还是77,他都讨厌!吉哥观察了214和77这两个数,发 ...
- C语言 homework(4)
#include <stdio.h> int main(){ ; i=; ) { sum+=i; i++; } printf("sum=%d\n",sum); ; } ...
- 一起入门python6之函数
今天我们来学习新的一篇吧,那便是“函数(function)”我们用def来定义一个函数,以案例说话.>>> def name(x): #定义一个“name”的函数. ...