• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    公众号

objective-c dictionary

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

dictionary是由键-对象组成的数据集合。正如在词典中查找单词的定义一样,可通过对象的键从objective-c词典中获取所需的值。

词典中的键必须是单值的,尽管它们通常是字符串,但还可以是任何对象类型。和键关联的值可以是任何对象类型,但它们不能为nil。

下面是一个使用词典的类:

 1 #import <Foundation/NSDictionary.h>
2 #import <Foundation/NSObject.h>
3 #import <Foundation/NSString.h>
4 #import <Foundation/NSAutoreleasePool.h>
5
6 int main(int argc, const char *argv[])
7 {
8 NSAutoreleasePool *pool = [[NSAutoreleasePool alloc] init];
9
10
11
12 //immutable dictionary
13 NSDictionary *tires = [NSDictionary dictionaryWithObjectsAndKeys :
14 @"front-left",@"t1" , @"front-right",@"t2" ,
15 @"back-left",@"t3" , @"back-right",@"t4" ,nil];
16
17 //display immutable dictionary
18 NSLog(@"t1: %@",[tires objectForKey: @"t1"]);
19 NSLog(@"t2: %@",[tires objectForKey: @"t2"]);
20 NSLog(@"t3: %@",[tires objectForKey: @"t3"]);
21 NSLog(@"t4: %@",[tires objectForKey: @"t4"]);
22
23 //mutable dictionary
24 NSMutableDictionary *glossary = [NSMutableDictionary dictionary];
25
26 //Store three entries in the glossary
27 //use setObject:forKey: method to set key/value
28 [glossary setObject: @"A class defined so other classes can inherit from it"
29 forKey: @"abstract class"];
30 [glossary setObject: @"To implment all the methods defined in a protocol"
31 forKey: @"adopt"];
32 [glossary setObject: @"Storing an object for later use"
33 forKey: @"archiving"];
34
35 //Retrieve and display them
36 //use objectForKey:key method to retrieve the value
37 NSLog(@"abstract class: %@",[glossary objectForKey: @"abstract class"]);
38 NSLog(@"adopt: %@",[glossary objectForKey: @"adopt"]);
39 NSLog(@"archiving: %@",[glossary objectForKey: @"archiving"]);
40
41 [pool drain];
42 return 0;
43
44 }

常用的NSDictionary方法:

+(id) dictionaryWithObjectsAndKeys: 使用键-对象{key1,obj1}、{key2,obj2}...创建词典

obj1,key1,obj2,key2,...,nil;

-(id) initWithObjectsAndKeys: 将新分配的词典初始化为键-对象对{key1,obj1}{key2,obj2}...创建词典

obj1,key1,obj2,key2...,nil;

-(unsigned int) count 返回词典中的记录数

-(NSEnumerator *) keyEnumerator 为词典中所有键返回一个NSEnumerator对象

-(NSArray *) keysSortedByVlaueUsingSelector: 返回词典中的键数组,它根据selector 指定的比较方法进行了排序

(SEL) selector

-(id) objectForKey:key 返回指定key的对象

常用的NSMutableDictionary方法:

+(id) dictionaryWithCapacity:size 使用一个初始指定的size创建可变词典

-(id) initWithCapacity:size 将新分配的词典初始化为指定的size

-(void) removeAllObjects 删除词典中所有的记录

-(void) removeObjectForKey:key 删除词曲中指定key对应的记录

-(void) setObject: obj forKey: key 向词典为key 键添加obj,如果key已存丰,则替换该值




鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
热门推荐
热门话题
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap