六十、基础框架(十八)辞典物件
辞典物件 就是 一种数据集合。这种数据集合 由若干对“关键字-物件”组合 构成。就像 你 可以 在辞典里 找到 某个词的定义,在objective-c里面的辞典物件当中,你 可以 通过关键字 获得 这个关键字所对应的物件。辞典物件中的关键字 必须 是 独一无二的。关键字 可以 是 任何类型的物件,但 一般 是 字符串物件。关键字所对应的物件 也可以 是 任何类型的,但 不能为 空。
辞典物件 可以 分为 可修改 和 不可修改两种。可修改的辞典物件中的条目 可以 动态地 添加 或者 删除。我们 可以根据 某个特定的关键字 搜索 辞典物件中的数据。辞典物件中的内容 也 可以枚举。
下面的程序 创建了 一个可修改的辞典物件 用作 Objective-c术语手册。这里 为了 示范,只列举了 三个词条:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
|
#import <Foundation/NSObject.h>
#import <Foundation/NSString.h>
#import <Foundation/NSDictionary.h>
#import <Foundation/NSAutoreleasePool.h>
int main(int argc,const char *argv[])
{
NSAutoreleasePool *pool=[[NSAutoreleasePool alloc] init];
NSMutableDictionary *glossary=[NSMutableDictionary dictionary];
//在词汇表中存储三个词条
[glossary setObject:@"抽象的物件类型中可以包含具体的物件类型" forKey:@"抽象的物件类型"];
[glossary setObject:@"实施协议中规定的所有措施" forKey:@"遵循"];
[glossary setObject:@"将物件存储起来备用" forKey:@"归档"];
//将词汇表中的词条读取并且显示出来
NSLog(@"抽象的物件类型:%@",[glossary objectForKey:@"抽象的物件类型"]);
NSLog(@"遵循:%@",[glossary objectForKey:@"遵循"]);
NSLog(@"归档:%@",[glossary objectForKey:@"归档"]);
[pool drain];
return 0;
}
|
运行 这个程序后,可以得到 下面的结果:
1
2
3
|
2012-04-29 19:32:35.886 Sample[3139:707] 抽象的物件类型:抽象的物件类型中可以包含具体的物件类型
2012-04-29 19:32:35.892 Sample[3139:707] 遵循:实施协议中规定的所有措施
2012-04-29 19:32:35.892 Sample[3139:707] 归档:将物件存储起来备用
|
这个程序当中的
1
|
[NSMutableDictionarydictionary]
|
这行语句 向NSMutableDictionary这类物件 发送了 dictionary这条消息 从而 创建了 一个可修改的辞典物件。
要 在辞典物件当中 添加 “关键字-物件”组合 只需要对 这个辞典物件 采取 setObject:forKey:这项措施。setObject:forKey:这项措施的第一个参数 为 你想添加的物件,第二个参数 为 这个物件所对应的关键字。要将 某个关键字所对应的物件 从辞典物件中 读取出来,只需要对 这个辞典物件 采取 objectForKey:这项措施。objectForKey:这项措施的唯一参数 就是 你所希望的关键字。
六十、基础框架(十八)辞典物件相关推荐
- 四十六、基础框架(四)字符串物件
在之前的程序当中,你 也 遇到过 字符串物件的.无论 什么时候,你 将 字符串 放 在一对双引号当中,你 就 创建了 一个字符串物件,就像 这样: 1 @"编程很有趣 ...
- 【ssi】增删改查六操作小框架(八)
(七)Struts_admin.xml <!-- 2012年07月31日 atip-15 异议信息管理action 团长 --> <action name="disse ...
- 六十二、基础框架(二十)集合物件
集合 是 由若干独一无二的物件 构成的.集合 可以是 可修改的,也可以是 不可修改的.我们 可以 在集合当中 搜索 某个物件.添加 或者 去除 某个物件,我们 还可以比较 ...
- [Python从零到壹] 三十六.图像处理基础篇之图像算术与逻辑运算详解
欢迎大家来到"Python从零到壹",在这里我将分享约200篇Python系列文章,带大家一起去学习和玩耍,看看Python这个有趣的世界.所有文章都将结合案例.代码和作者的经验讲 ...
- PyTorch框架学习十——基础网络层(卷积、转置卷积、池化、反池化、线性、激活函数)
PyTorch框架学习十--基础网络层(卷积.转置卷积.池化.反池化.线性.激活函数) 一.卷积层 二.转置卷积层 三.池化层 1.最大池化nn.MaxPool2d 2.平均池化nn.AvgPool2 ...
- 二十六. Python基础(26)--类的内置特殊属性和方法
二十六. Python基础(26)--类的内置特殊属性和方法 ● 知识框架 ● 类的内置方法/魔法方法案例1: 单例设计模式 # 类的魔法方法 # 案例1: 单例设计模式 class Teacher: ...
- symfony入门学习资料之十六:Symfony框架启动过程介绍
symfony入门学习资料之十六:Symfony框架启动过程介绍 Symfony框架的核心本质是把Request转换成Response的一个过程.从入口文件(web_dev.php)的源码可以看个大概 ...
- C1认证学习二十六(基础选择器)
C1认证学习二十六(基础选择器) 任务背景 CSS选择器是CSS规则的一部分,用来指定需要设置的样式的HTML元素,通过选择器可以实现CSS对HTML元素一对一或者一对多或者多对一的控制了啦. 任务目 ...
- Java SE基础(十六)集合
Java SE基础(十六)集合 集合 集合体系 数据结构简述 栈 队列 数组 链表 Collection集合 List集合 ArrayList集合 LinkedList集合 Set集合 HashSet ...
最新文章
- TCGAbiolinks包分析TCGA数据
- 用python画梵高星空-谷歌AI:推进实例级别识别 (ILR)研究
- coreldraw的线条怎么变成圆头_别再穿到处撞的小白鞋了,这五款春夏小皮鞋,不管怎么搭配都好看...
- HiveQL之Sort by、Distribute by、Cluster by、Order By详解
- 解决Ubuntu 14下,PhpStorm 9.x 编辑器界面中文乱码的问题
- linear-gradient radical-gradient详解
- Linux下python升级步骤
- oracle外表日期,三步教会您掌握oracle外表(external table)
- 个人觉的不错的文章[来自CSDN]
- ajax异步提交 java_jquery ajax异步上传
- R语言ggplot2移除图例_读书笔记:R语言绘图—ggplot2
- nginx 过滤post报文 防火墙_十八般武艺之Nginx踩坑总结
- 戴尔PowerEdge-C服务器新成员:PowerEdge C5125和C5220
- 性能测试-ApacheBench
- 注意判断js中使用正则表达式的转义字符,到底是对谁进行转义!!!
- P6858 数学期望
- 这些那些非代码之罪的坑
- 基于GITHUB ACTION的定时任务,真香!
- 以txt为数据源的随机点名系统
- 新梦想计算机等级考试2016,2016年计算机等级一级考试试题及解析