Foundation-02字典NSDictionary 和NSMultableDictionary

1:NSDictionary由于是不可变的,所以一般会在创建的时候加入数据,一般有两种方式:一种类方法,一种对象方法

NSDictionary *dict = [NSDictionary dictionaryWithObjectsAndKeys:
                          @"Mike", @"name",
                          @"BeiJing", @"address",
                          nil];
 NSDictionary *dict=[[NSDictionary alloc]initWithObjectsAndKeys:obj,key,obj2,key2];

键值对一一对应,可以有同样的值,不允许有同样的key,有个对象方法[dict count]表示键值对个数

有个类方法,可以分开传两个数组,一个放键,一个放值,一一对应[NSDictionary dictionaryWithObjects:NSArray* forkeys:NSArray]

字典的元素访问都是通过key访问值:

遍历字典:1:快速遍历法

for (id key in dict)
{
id obj=[dict objectForKey:key];
}

2:通过block

[dict enumerateKeysAndObjectsUsingBlock:^(id key,id obj,BOOL *stop)
{
NSLog(@"%@==%@",key,obj);
}
]

*stop是用来停止遍历的 ,通过*stop=YES

2:NSMultableDictionary

作为 NSDictionary的子类,继承了父类的所有方法,由于multable是可变的,所以可以不用创建的时候就插入数据

可以通过[dict setObject:@"mike" forkey:@"name"];添加数据,也可以通过[dict removeObjectForKey:]来移除数据

3:字典的内存管理

往字典中插入OC对象,OC对象计数器就会加1,在字典销毁或者,移除数据的时候就会-1,不需要用户去管理内存

posted @ 2013-07-03 22:36  闲石  阅读(384)  评论(0)    收藏  举报