------Java培训、Android培训、iOS培训、.Net培训、期待与您交流! -------
/*
1、NSDictionary介绍
1)什么是NSDictionary
NSDictionary翻译过来叫做”字典”
日常生活中, “字典”的作用:通过一个拼音或者汉字, 就能找到对应的详细解释 NSDictionary的作用类似:通过一个key(键),就能找到对应的value(值) NSDictionary是不可变的, 一旦初始化完毕,里面的内容就无法修改
2)NSDictionary的创建
+ (instancetype)dictionary;
+ (instancetype)dictionaryWithObject:(id)object forKey:(id <NSCopying>)key; // objectForKey,根据键取值。 + (instancetype)dictionaryWithObjectsAndKeys:(id)firstObject, ...;
3)快速创建字典
4)键值对集合的特点
1. 字典存储的时候,必须是"键值对"的方式来存储(同时键不要重复) 2. 键值对中存储的数据是"无序的".
3. 键值对集合可以根据键,快速获取数据.
2、NSDictionary基本使用方法
- (NSUInteger)count; //返回字典的键值对数目
- (id)objectForKey:(id)aKey; //根据key取出value
*/
#import <Foundation/Foundation.h>
int main(int argc,const char * argv[]) {
@autoreleasepool {
//dictionary 是不可变 此处创建没有意义
NSDictionary *d1 =[NSDictionarydictionary];
// 创建一个多组元素的dictionary
NSDictionary *d2 =[NSDictionarydictionaryWithObjectsAndKeys:@"zs",@"zhangshan",@"ls",@"lishi"@"fj"@"fengjie",@"zbz",@"zhangbozhi"@"xtf"@"xietingfeng",nil];
// 简化创建dictionary
NSDictionary *d3=@{@"zs":@"zhangsn",@"ls":@"lishi",@"zbz":@"zhangbozhi",@"xtf":@"xietingfeng",@"fj":@"fengjie"};
// 返回dictionary的Key值数目
NSLog(@"d3.count = %lu",d3.count);
//根据key取出value
NSDictionary *s = [d3 objectForKey:@"fj"];
// 打印
NSLog(@"s=%@",s);
NSLog(@"d3 = %@",d3);
// 使用block遍历
[d3 enumerateKeysAndObjectsUsingBlock:^(id _Nonnull key, id _Nonnull obj, BOOL *_Nonnull stop) {
NSLog(@"key=%@,value=%@",key,obj);
}];
// 使用for加强版遍历
for (NSString *sin d3) {
NSLog(@"key = %@,value = %@",s,[d3objectForKey:s]);
}
}
return 0;
}