字典:NSDictionary
字典就是关键字及其定义(描述)的集合。Cocoa中的实现字典的集合NSDictionary在给定的关键字(通常是一个Nsstring)下存储一个数值(可以是任何类型的对象)。然后你就可以用这个关键字来查找相应的数值。
不同于数组,字典(也被称为散列表或关联数组)使用的是键查询的优化存储方式。它可以立即找出要查询的数据,而不需要遍历整个数组进行查找。
可使用dictionaryWithObjectsAnd
查询字典的值:objectForKey
NSMutableDictionary的dictionary方法可以创建一个可变字典,也可以使用dictionaryWithCapaticy:。
使用 setobject:forkey: 方法添加字典元素,如果关键字已存在,则用新植替换旧值。
类似的,NSMutableDictionary类允许随意添加或删除字典元素。
添加元素:setobject:forkey:
删除元素:removeObjectForKey:
Example:@H_404_14@
2
3
4
6 copyright 2010 Control-Strength. All rights reserved.
7 //
8 9 #import < Cocoa / Cocoa.h > 10 11 12 @interface MyClass : NSObject
13 {
14 Nsstring * firstname;
15 lastname;
16 }
17 18 19 - ( voID ) setFirstname:(Nsstring )m_firstname;
20 (Nsstring ) firstname;
21 22 ) setLastname: (Nsstring ) m_lastname;
23 ) lastname;
24 25 26 @end @H_404_14@@H_404_14@@H_404_14@@H_404_14@
3 4 5 #import " MyClass.h " @implementation MyClass
)m_firstname{
firstname = m_firstname;
) firstname{
return ) setLastname: (Nsstring ) m_lastname{
lastname m_lastname;
) lastname{
27 28 29 30 ) description
31 32 if (firstname == nil || nil) {
33 return @" No name found. ;
34 } else 35 [Nsstring stringWithFormat: %@ %@ ,
36 firstname,lastname];
37 38 39 40 41 @end
NSautoreleasePool pool [[NSautoreleasePool alloc] init];
创建字典:dictionaryWithObjectsAnd
my2 my3 my4 NSDictionary myClassDict;
myClassDict [NSDictionary dictionaryWithObjectsAnd
@H_404_14@
[sub setFirstname: Elf [sub setLastname: Sundae NSLog( 修改数据: %@ 遍历字典 ***遍历字典myClassDict如下: for (ID key in myClassDict)
key: %@,value: %@ ***遍历字典myClassDict结束。 42 43 MARK: *** 添加新元素 ***
44 NSDictionary无法添加或删除元素,可以使用NSMutableDictionary. 45 NSMutableDictionary myNewDict [NSMutableDictionary dictionary];
46 将原有字典添加到新字典的一对元素
47 [myNewDict setobject:myClassDic forKey:@"旧的不可变字典myClassDic"];
48 49 遍历添加已有数据(原字典) 50 51 52 [myNewDict setobject: [myClassDict objectForKey:key]
53 forKey:key];
54 55 56 newkey = newKey 57 newValue This is a new Value. 58 [myNewDict setobject:newValue forKey:newkey];
59 60 遍历myNewDict 61 ***遍历字典myNewDict如下: 62 myNewDict)
63 64 65 66 ***遍历字典myNewDict结束。 67 68 删除元素 69 [myNewDict removeObjectForKey: 70 71 72 73 74 75 76 77 78 79 [pool drain];
80 0 81 }
// 输出结果(省略日期 时间等信息)
修改数据: Elf Sundae
***遍历字典myClassDict如下:
key: my3,value: Elf Sundae
key: my4,value: No name found.
key: my1,value: No name found.
key: my2,value: No name found.
***遍历字典myClassDict结束。
***遍历字典myNewDict如下:
key: newKey,value: This is a new Value.
key: my3,value: No name found.
***遍历字典myNewDict结束。
***遍历字典myNewDict如下:
key: my3,value: No name found.
转自:
http://blog.sina.com.cn/s/blog_74e36b050100u5kj.html
总结以上是内存溢出为你收集整理的NSDictionary用法全部内容,希望文章能够帮你解决NSDictionary用法所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)