《慕客网:IOS基础入门之Foundation框架初体验》学习笔记 <五> NSDicionary + NSMutableDictionary
int main(int argc, const char * argv[]) {
@autoreleasepool {
//字典, 存储的内存不是连续的 用key和value进行对应(键值)
//kvc 键值编码
NSDictionary *dic = [NSDictionary dictionaryWithObject:@"" forKey:@"a"];
NSLog(@"%@",dic);//以上的方法是不常用的
//注意两个参数是数组
//NSDictionary *dic2 = [NSDictionary dictionaryWithObjects:<#(NSArray *)#> forKeys:<#(NSArray *)#>]
//所以还是要先创建两个数组
NSArray *array1 = [[NSArray alloc] initWithObjects:@"a",@"b",@"c",@"d", nil];
NSArray *array2 = [[NSArray alloc] initWithObjects:@"",@"",@"",@"", nil];
NSDictionary *dic2 = [[NSDictionary alloc] initWithObjects:array1 forKeys:array2];
NSLog(@"%@",dic2);
//
NSDictionary *dic3 = @{@"m":@"",@"n":@""};
NSLog(@"%@",dic3);
//输出字典的长度
int count = (int)[dic3 count];
NSLog(@"%d",count);
//通过键 获得 值
NSString *str = [dic3 valueForKey:@"m"];//或者[dic3 objectForKey:@"m"]
NSLog(@"%@",str);
//获取所有键值中的键和值
NSArray *allValue = [dic3 allValues];
NSArray *allKey = [dic3 allKeys];
//通过多个键找值,因为是多个,当然返回的是数组
NSArray *array = [dic2 objectsForKeys:[NSArray arrayWithObjects:@"",@"",@"", nil] notFoundMarker:@"not found"];
NSLog(@"%@",array);
//遍历字典,数组通过下标遍历,字典当然通过key来遍历
for (NSString *key in dic2) {
NSLog(@"%@ = %@",key,[dic2 objectForKey:key]);
}
//使用针对字典的枚举器
NSEnumerator *en = [dic2 keyEnumerator];
id key = nil;
while (key = [en nextObject]) {
NSLog(@"key - %@",key);
}
//还有一个block方法,用法都是一样的
/*
[dic2 enumerateKeysAndObjectsUsingBlock:^(id key, id obj, BOOL *stop) {
}];*/
}
return ;
}
int main(int argc, const char * argv[]) {
@autoreleasepool {
NSMutableDictionary *dict = [[NSMutableDictionary alloc] init];
//添加键值对,直接添加就可以了
[dict setObject:@"" forKey:@"a"];
[dict setObject:@"" forKey:@"b"];
[dict setObject:@"" forKey:@"c"];
NSLog(@"%@",dict);
//删除键值对
[dict removeObjectForKey:@"a"];
NSLog(@"%@",dict);
//还可以通过传入数组对象,对应删除数组元素对应的所有键
[dict removeObjectsForKeys:[NSArray arrayWithObjects:@"a",@"c", nil]];
NSLog(@"%@",dict);
}
return ;
}
《慕客网:IOS基础入门之Foundation框架初体验》学习笔记 <五> NSDicionary + NSMutableDictionary的更多相关文章
- IOS基础之 (九) Foundation框架
一NSNumber 类型转换 NSNumber 把基本数据类型包装成一个对象类型.NSNumber之所以可以(只能)包装基本数据类型,是因为继承了NSValue. @20 等价于 [NSNumber ...
- IOS基础之 (八) Foundation框架
一 常用类 NSRange 范围,NSPoint 点,NSSize /CSSize 大小,CGRect 1 NSRange 1)NSRange是一种C语言结构用来帮助描述一系列的条款,包括一个起点位 ...
- iOS与Html5和JS之间的交互---学习笔记五
首先采用的框架是WebViewJavascriptBridge,采用这套框架可以方便的使iOS与JS交互 一. 流程图(主要介绍思路) 二.iOS端如何使用 首先导入#import "Web ...
- iOS 基础入门--Bull' Eye 小游戏
说明 Bull's Eye小游戏是http://www.raywenderlich.com/store/ios-apprentice里非常酷的入门demo 跟着该教程一步步做下来便有了 ...
- iOS 基础函数解析 - Foundation Functions Reference
iOS 基础函数解析 - Foundation Functions Reference 太阳火神的漂亮人生 (http://blog.csdn.net/opengl_es) 本文遵循"署名- ...
- [置顶] IOS 基础入门教程
IOS 基础入门教程 教程列表: IOS 简介 IOS环境搭建 Objective C 基础知识 创建第一款iPhone应用程序 IOS操作(action)和输出口(Outlet) iOS - 委托( ...
- 《python基础教程(第二版)》学习笔记 文件和素材(第11章)
<python基础教程(第二版)>学习笔记 文件和素材(第11章) 打开文件:open(filename[,mode[,buffering]]) mode是读写文件的模式f=open(r' ...
- 《python基础教程(第二版)》学习笔记 类和对象(第7章)
<python基础教程(第二版)>学习笔记 类和对象(第7章) 定义类class Person: def setName(self,name): self.name=n ...
- 《python基础教程(第二版)》学习笔记 函数(第6章)
<python基础教程(第二版)>学习笔记 函数(第6章) 创建函数:def function_name(params): block return values 记录函数:def f ...
随机推荐
- Hadoop入门进阶课程9--Mahout介绍、安装与应用案例
本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,博主为石山园,博客地址为 http://www.cnblogs.com/shishanyuan ...
- Vex – 超轻量!可以轻松自定义的现代风格弹窗插件
Vex 的独特之处在于现代风格设计,能够自定义弹出模式.皮肤.Vex 超轻量,压缩后不到 2KB,提供了简洁的 API,可以根据自己的项目需要快速自定义.支持在移动设备上使用,测试通过的浏览器:IE8 ...
- Ink – 帮助你快速创建响应式邮件(Email)的框架
Ink 可以帮助你快速创建响应的 HTML 电子邮件,可工作在任何设备和客户端.这个 CSS 框架帮助您构建可在任何设备上阅读的 HTML 电子邮件.曾经需要你兼顾各种邮件客户端的日子一去不复返了,I ...
- [C] static和extern的作用
static: 当用于函数定义或者代码块之外的变量声明时,static关键字用于修改标识符的链接属性,从external改为internal. 当用于代码块内部的变量声明时,static关键字用于修改 ...
- sql server 随机读取数据
--sql server 随机读取数据 * FROM [tablename] ORDER BY NEWID() pk from [tablename] ORDER BY NEWID()) --这两个方 ...
- RCU-数据库初始化参数
C:\Windows\System32>sqlplus sys/As123456 as sysdba SQL> show parameter processes; SQL> shut ...
- 【EF 译文系列】重试执行策略的局限性(EF 版本至少为 6)
原文链接:Limitations with Retrying Execution Strategies (EF6 onwards) 当使用重试执行策略的时候,大体有以下两种局限性: 不支持以流的方式进 ...
- 【C#】1.1 第1章学习要点
分类:C#.VS2015 创建日期:2016-06-14 教材:十二五国家级规划教材<C#程序设计及应用教程>(第3版) 一.配套源程序(VS2015版)的运行截图 VS2015版的配套源 ...
- ActiveReports 报表应用教程 (7)---交叉报表及数据透视图实现方案
在 ActiveReports 中可以通过矩阵控件非常方便的实现交叉报表,同时还可以设置数据的分组.排序.过滤.小计.合计等操作,可以满足您报表的智能数据分析等需求.在矩阵控件中组的行数和列数由每个行 ...
- C#实现判断字符是否为中文
C#实现判断字符是否为中文 (2012-08-14 14:25:28) 标签: gb2312 big5编码 gbk编码 判断 汉字 杂谈 分类: 技术 protected bool IsChinese ...