OC-047.NSDictionary字典
来源:互联网 发布:奢侈品女包 知乎 编辑:程序博客网 时间:2024/06/18 15:24
概念:字典是一个无序的集合,它使通过键值对的方式来存储数据的
key:键
value:值
key是有要求 NSCopying才能成为字典key,一般情况都是使用字符串NSString作为字典的key
NSDictionary 不可变得字典,一经创建里面的元素就不可以改变了
代码介绍:
1.字典的创建和初始化
2.字典的一些方法
3.遍历字典
4.字典与文件 一般用.plist
#import <Foundation/Foundation.h>int main(int argc, const char * argv[]) { @autoreleasepool {//******1.字典的创建 //1.1通过类方法 value,key...,nil 值键对应 ,中文支持不好 这里的基本数据类型需要包装@ NSDictionary *dic = [NSDictionary dictionaryWithObjectsAndKeys:@19,@"age",@"tom",@"name",@28,@"age",nil]; NSLog(@"%@",dic);//打印age=19 name = tom 说明只能有一对值和键 //1.2通过对象方法 NSDictionary *dic2 = [[NSDictionary alloc] initWithObjectsAndKeys:@10,@"age", nil]; NSLog(@"%@",dic2); //1.3使用简便方式来创建字典 (常用,可读性好) NSDictionary *dic3 = @{@"age":@10,@"name":@"jack"}; NSLog(@"%@",dic3); //******2.字典的方法 //2.1取出某个键的值 NSString *name1 = [dic objectForKey:@"name"]; NSLog(@"%@",name1);//打印tom //2.2通过简便方法来取值(常用) NSNumber *num = dic[@"age"]; NSLog(@"%@",num);//打印19 //2.3取出字典中一共有几对值键 long count = dic.count; NSLog(@"%zd",count);//打印2 //******3.遍历字典 //3.1使用数组的方式,取出所有的key,然后用增强for遍历 NSDictionary *dic4 = @{@"age":@28,@"name":@"龙叔叔",@"sex":@1}; NSArray *keys = [dic4 allKeys]; for (NSString *key in keys) { NSLog(@"%@ = %@",key,dic4[key]); } //3.2直接用增强for遍历 for (NSNumber *key in dic4) { NSLog(@"%@ = %@",key,dic4[key]); } //3.3使用枚举器 NSEnumerator *dicEnum = dic4.keyEnumerator; NSString *key = nil; while ((key = dicEnum.nextObject)) { NSLog(@"%@ = %@",key,dic4[key]); } //3.4用block [dic4 enumerateKeysAndObjectsUsingBlock:^(id _Nonnull key, id _Nonnull obj, BOOL * _Nonnull stop) { NSLog(@"%@ = %@",key,obj); }]; //3.5取出字典中所有的值 NSArray *values = dic4.allValues; for (id value in values) { NSLog(@"%@",value); } //******4.字典与文件 //4.1写入文件 NSString *path = @"/Users/mrlong/Desktop/测试.plist";// NSDictionary *dic4 = @{@"age":@28,@"name":@"龙叔叔",@"sex":@1}; BOOL isOk = [dic4 writeToFile:path atomically:YES]; if (isOk) { NSLog(@"写入成功"); } //4.2读取文件 NSDictionary *dic5 = [NSDictionary dictionaryWithContentsOfFile:path]; NSLog(@"%@",dic5); } return 0;
0 0
- OC-047.NSDictionary字典
- OC--NSDictionary字典
- OC学习:OC字典NSDictionary
- OC之字典(NSDictionary, NSMutableDictionary)
- Oc课堂笔记->字典NSDictionary
- OC-字典常用操作(NSDictionary、NSMutableDictionary)
- OC-字典常用操作(NSDictionary、NSMutableDictionary)
- OC-字典常用操作(NSDictionary、NSMutableDictionary)
- OC教程07-字典NSDictionary详解
- Snail—OC学习之字典NSDictionary
- 《OC基础教程》读书笔记8-字典NSDictionary,NSMutableDictionary
- OC中字典NSDictionary和可变字典NSMutableDictionary<代码演示>
- OC基础—集合之NSSet、NSDictionary(字典)、NSMutableDictionary
- OC基础使用(八 NSDictionary 不可变字典)
- OC字典(NSDictionary)和集合(NSSet)的总结
- OC 5 NSArray 数组 NSDictionary 字典 NSSet集
- iOS OC (五) 字典NSDictionary 数组 NSArray 集合 NSSet
- NSDictionary------字典
- MySQL 定时器EVENT学习
- Android 内存溢出与内存泄露
- 【java】HttpClient实现HTTP文件通用下载工具类
- Android PopupWindow的使用
- Java 内存回收机制介绍
- OC-047.NSDictionary字典
- Java Enum枚举
- 95后的消费与社交【163页PPT】
- iOS开发表格操作
- 设计模式之建造者模式
- Spring常用注解
- KNN邻近算法
- 【Drools-开源业务规则引擎】入门实例(含源码)
- Android 属性动画简介