NSDictionary:字典就是关键字及其定义(描述)的集合。Cocoa中的实现字典的集合NSDictionary在给定的关键字(通常是一个NSString)下存储一个数值(可以是任何类型的对象)。然后你就可以用这个关键字来查找相应的数值。
不同于数组,字典(也被称为散列表或关联数组)使用的是键查询的优化存储方式。它可以立即找出要查询的数据,而不需要遍历整个数组进行查找。
可使用dictionaryWithObjectsAndKeys来创建字典
查询字典的值:objectForKey
NSMutableDictionary的dictionary方法可以创建一个可变字典,也可以使用dictionaryWithCapaticy:。
使用 setObject:forkey: 方法添加字典元素,如果关键字已存在,则用新植替换旧值。
类似的,NSMutableDictionary类允许随意添加或删除字典元素。
不同于数组,字典(也被称为散列表或关联数组)使用的是键查询的优化存储方式。它可以立即找出要查询的数据,而不需要遍历整个数组进行查找。
可使用dictionaryWithObjectsAndKeys来创建字典
查询字典的值:objectForKey
NSMutableDictionary的dictionary方法可以创建一个可变字典,也可以使用dictionaryWithCapaticy:。
使用 setObject:forkey: 方法添加字典元素,如果关键字已存在,则用新植替换旧值。
类似的,NSMutableDictionary类允许随意添加或删除字典元素。
添加元素:setObject:forkey:
删除元素:removeObjectForKey:
1 // 2 // 3 // 4 // 5 // 6 // 7 // 8 9 #import <Cocoa/Cocoa.h> 10 11 12 @interface MyClass : NSObject 13 { 14 NSString *firstName; 15 NSString *lastName; 16 } 17 18 19 - (void) setFirstName:(NSString *)m_firstName; 20 - (NSString *) firstName; 21 22 - (void) setLastName: (NSString *) m_lastName; 23 - (NSString *) lastName; 24 25 26 @end
// 输出结果(省略日期 时间等信息)
修改数据: 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: Elf Sundae
key: my4 ,value: No Name found.
key: my1 ,value: No Name found.
key: my2 ,value: No Name found.
***遍历字典myNewDict结束。
***遍历字典myNewDict如下:
key: my3 ,value: Elf Sundae
key: my4 ,value: No Name found.
key: my1 ,value: No Name found.
key: my2 ,value: No Name found.
***遍历字典myNewDict结束。
将一个BOOL值插入到NSMutableDictionary中
- 项目要讲BOOL类型的值插入到一个NSMutableDictionary。
-
- 首先将 BOOL 包装到<wbr>NSNumber中:</wbr>
- NSNumber<wbr></wbr>*boolNumber=[NSNumbernumberWithBool:YES]
- 取得BOOL值:
- BOOL b=[boolNumberboolValue];
-
- 或者通过这种方式:
- NSValue*boolValue=[NSValuevalue:pointerToBool withObjCType:@encode(BOOL*)];
- BOOL*b=[boolValue pointerValue];