Objective-C( Foundation框架 一 NSDictionary (NSMutaleDictionary))
NSDictionary
不可变的字典
创建字典的方法
// 创建字典的方式
NSDictionary *dy = [NSDictionary dictionaryWithObject:@"a"forKey:@"b"];
NSDictionary *dy1 = [NSDictionary dictionaryWithObjectsAndKeys:@"a",@"b",@"c",@"d" ,nil]; // 快速创建字典
// 重复key值,重复的不能保存到字典中
NSDictionary *dy2 = @{@"we":@"haha", @"we":@"ha"}; NSLog(@"%@",dy);
NSLog(@"%@",dy1);
NSLog(@"%@",dy2);
获取字典的长度
// 获取字典长度
NSDictionary *dy2 = @{@"we":@"haha", @"w":@"ha"};
NSLog(@"%lu",dy2.count); // 输出2
// 如果key值重复,长度不计算在内
NSDictionary *dy2 = @{@"we":@"haha", @"we":@"ha"};
NSLog(@"%lu",dy2.count); //输出1
字典的遍历
NSDictionary *dy1 = [NSDictionary dictionaryWithObjectsAndKeys:@"a",@"b",@"c",@"d" ,nil];
// 快速创建字典
// 重复key值,重复的不能保存到字典中
NSDictionary *dy2 = @{@"we":@"haha", @"w":@"ha"};
NSLog(@"%lu",dy2.count);
// 字典的遍历
for (NSString *key in dy2) {
NSLog(@"key = %@, value = %@", key, [dy2 objectForKey:key]);
}
// 枚举类型遍历
[dy1 enumerateKeysAndObjectsUsingBlock:^(id key, id obj, BOOL *stop) {
NSLog(@"key = %@, value = %@", key, obj);
}];
把字典存到文件中
// 把字典保存到文件中
NSDictionary *dy2 = @{@"we":@"haha", @"w":@"ha"};
BOOL isWrite = [dy2 writeToFile:@"/Users/cloudwalk/Desktop/test.plist" atomically:YES];
if (isWrite) {
NSLog(@"写入成功");
}
从文件中读取字典
NSDictionary *readDy2 = [NSDictionary dictionaryWithContentsOfFile:@"/Users/cloudwalk/Desktop/test.plist"];
NSLog(@"%@",readDy2);
通过把数组添加到字典中,构建成数组字典
NSArray *sdArr = [NSArray arrayWithObjects:@"zaozhuang",@"jinan",nil];
NSArray *jxArr = [NSArray arrayWithObjects:@"jiujiang",@"nanchang",nil];
NSDictionary *citys = [NSDictionary dictionaryWithObjectsAndKeys:sdArr,@"sd",jxArr,@"jx", nil];
NSLog(@"citys = %@",citys);
NSDictionary *citys = [NSDictionary dictionaryWithObjectsAndKeys:sdArr,@"sd",jxArr,@"jx", nil];
NSLog(@"citys = %@",citys);
// 把citys存到文件中
[citys writeToFile:@"/Users/cloudwalk/Desktop/test1.plist" atomically:YES];
NSMutableDictionay
// 创建可变字典
NSMutableDictionary *dy1 = [NSMutableDictionary dictionary]; // 添加键值对
[dy1 setValue:@"lili" forKey:@"is"];
[dy1 setValue:@"heihei" forKey:@"hah"];
NSLog(@"%@",dy1); // 删除某个键值对
//[dy1 removeObjectForKey:@"is"];
NSLog(@"%@",dy1); // 快速修改键值对
dy1[@"is"] =@"xossk";
NSLog(@"%@",dy1); // 修改键值对
[dy1 setObject:@"xixi" forKey:@"is"];
NSLog(@"%@",dy1);
Objective-C( Foundation框架 一 NSDictionary (NSMutaleDictionary))的更多相关文章
- Objective - c Foundation 框架详解2
Objective - c Foundation 框架详解2 Collection Agency Cocoa provides a number of collection classes such ...
- Foundation框架--字典( NSDictionary NSMutableDictionary )
基础知识 1.字典不允许相同的key,但允许有相同的value. 2,字典是无序的,字典不能排序. 3.字典里的内容是成对存在的,不会出现单数. 4.快速创建的方式只适合不可变字典. 不可变字典 #i ...
- [OC Foundation框架 - 10] NSDictionary
通过唯一的key找到相应的value,类似于Map NSDictionary是不可变的 1.创建 void dicCreate() { //Immutable // NSDictionary *d ...
- OC中Foundation框架之NSDictionary、NSMutableDictionary
NSDictionary概述 NSDictionary的作用类似:通过一个key ,就能找到对应的value 同样 NSDictionary是不可变的,一旦初始化完毕,里面的内容就无法修改 NSDic ...
- Foundation框架系列-NSDictionary
排序 对字典中的key按照字母升序排序 // NOTE: 排序,得出最终请求字串 NSArray* sortedKeyArray = [[tmpDict allKeys] sortedArrayUsi ...
- Foundation框架之NSArray、NSDictionary、NSSet及其Mutable类型
Foundation框架之NSArray.NSDictionary.NSSet及其Mutable类型 目录 概述——对Foundation框架集合类的理解 NSArray NSDictionary N ...
- OC学习篇之---Foundation框架中的NSDictionary类以及NSMutableDictionary类
今天来看一下Foundation框架中的NSDictionary类,NSMutableDictionary类,这个和Java中的Map类很想,OC中叫字典,Java中叫Map,还有字典是无序的,这个和 ...
- Objective-C( Foundation框架 一 常见的结构体)
常见的结构体 (NSPoint,CGPoint).(NSRange,CGRange).(NSSize,CGSize) 苹果官方推荐使用CG开头的结构体 NSRange是Foundation框架中常见的 ...
- 【IOS 开发】Objective-C Foundation 框架 -- 字符串 | 日期 | 对象复制 | NSArray | NSSet | NSDictionary | 谓词
一. 字符串 API 1. NSString 用法简介 (1) NSString API 介绍 NSString 功能 : -- 创建字符串 : 使用 init 开头的实例方法, 也可以使用 Stri ...
随机推荐
- 【转】Tomcat版本是32位、64位问题
转载地址:http://www.cnblogs.com/greensleeves/p/3168541.html 最近遇到一个Tomcat windows安装版本是32位还是64位问题.由于一系列原因, ...
- solr 4.4添加索引是新手容易遇到的问题
solr 4.4添加索引是新手容易遇到的问题异常一.Exception in thread "main" java.lang.NoClassDefFoundError: org/a ...
- easyui dialog iframe
function toGrant(obj,url,showMsg) { var dialog=$('#dlg_grant' ...
- flag+文件操作
flag标志位,标识位,在其他语言中可能叫开关,个人觉得当作开关更容易理解.下面我们来利用这个开关来控制文件操作的流程,从而优雅的修改配置文件. global log 127.0.0.1 local2 ...
- sql语句错误
此错误一般有以下情况造成: 1.配置文件中SQL语句写的有问题 2.传参过程中没有找到sql对应的参数 解决方法: 1.检查sql语句 2.debug启动,查找与sql语句相对应的参数是否存在. 3. ...
- nancy中视图呈现 Html.Partial(RenderPage的替代品)
在mvc中有RenderPage 用来呈现其他视图的内容,而在nancy中没有RenderPage.怎么办呢? mvc中RenderPage的替代品,就是 Html.Partial. 使用方式 @Ht ...
- python走起之第八话
1. Socket介绍 概念 A network socket is an endpoint of a connection across a computer network. Today, mos ...
- nslookup
检查DNS http://arch.pconline.com.cn//pcedu/soft/wl/assist/10307/193330.html
- JavaScript中的编码函数
JavaScript中有三个可以对字符串编码的函数,分别是: escape,encodeURI,encodeURIComponent,相应3个解码函数:unescape,decodeURI,decod ...
- es6 import export 与 node 中的module.exports exports
1.export a.export 变量 export var name = 'jack';export var age = 18;//等同于 var name = 'jack';var age = ...