辞典物件 就是 一种数据集合。这种数据集合 由若干对“关键字-物件”组合 构成。就像 你 可以 在辞典里 找到 某个词的定义,在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; } |
运行 这个程序后,可以得到 下面的结果:
|
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] 归档:将物件存储起来备用
|
这个程序当中的
|
[NSMutableDictionarydictionary]
|
这行语句 向NSMutableDictionary这类物件 发送了 dictionary这条消息 从而 创建了 一个可修改的辞典物件。
要 在辞典物件当中 添加 “关键字-物件”组合 只需要对 这个辞典物件 采取 setObject:forKey:这项措施。setObject:forKey:这项措施的第一个参数 为 你想添加的物件,第二个参数 为 这个物件所对应的关键字。要将 某个关键字所对应的物件 从辞典物件中 读取出来,只需要对 这个辞典物件 采取 objectForKey:这项措施。objectForKey:这项措施的唯一参数 就是 你所希望的关键字。