黑马程序员-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, 否则的话导致程序奔溃
浙公网安备 33010602011771号