黑马程序员-NSDictionary

NSDictionary也是我们OC中十分常用的一个类.大体的创建形式和我之前讲过的其它类一样.我们这里,简单介绍它的创建方法,主要看一下他的存储和读取.

一.创建

单纯创建对象,创建包含一个或者多个元素的字典的方法如下:

 

一.常用方法

- (NSUInteger)count  返回字典的 key 数

-(BOOL)isEqualToDictionary:(NSDictionary *)otherDictionary  比较两个字典

-(BOOL)writeToFile:(NSString *)path atomically:(BOOL)useAuxiliaryFile   将一个 NSDictionary 持久化到存储到文件中去

-(NSArray *)allKeys 返回所有的 key

-(NSArray *)allKeysForObejct:(id)anObject   返回 anObject 元素对应的所有 Key

-(NSArray *)allValues   返回所有的 value

-(id)objectForKey:(id)aKey 根据 aKey 返回对应的 value

-(NSArray *)objectForKeys:(NSArray *)keys notFoundMarkker:(id)marker  返回 keys 对应的所有 value, 如果没有对应的 alue,用 market代替

以上的方法中,我们现在有更简单的方法来代替这种方法比如:

存储的方法:

 dict[@"Key"] = value;

读取的方法:

NSString *value = dict[@"Key"];

二.字典的基本使用

 

 

三.字典的遍历(1)for-in循环,快速遍历

(2)- (NSEnumerator *)keyEnumerator     key 的迭代器

(3)- (NSEnumerator *)objectEnumerator   calue 的迭代器

(4)block遍历:

dict enumerateKeysAndObjectsUsingBlock:^(id  _Nonnull key, id  _Nonnull obj, BOOL * _Nonnull stop) {
        //code
    }

我们可以看到上边的方法,大部分还是和我之前在 NSArray 中讲到的是类似的. 这里就是迭代器的使用要说明下.

先来看字典的遍历for-in:

迭代器的使用:

 

block的迭代使用:

 

四.字典使用注意

字典在存储的视乎要也别注意,不能赋值为 nil, 否则的话导致程序奔溃

posted @ 2015-12-04 23:45  coderQin  阅读(105)  评论(0)    收藏  举报