黑马程序员---Foundation -NSDictionary
2015-08-10 08:29
375 查看
NSDictionary的创建
+ (instancetype)dictionary;
+ (instancetype)dictionaryWithObject:(id)objectforKey:(id <NSCopying>)key; // objectForKey,根据键取值。
+ (instancetype)dictionaryWithObjectsAndKeys:(id)firstObject,...;
@{@"zs": @"zhangsan",@"ls": @"lisi",@"ww": @"Wangwu"};
键值对集合的特点
1. 字典存储的时候,必须是"键值对"的方式来存储(同时键不要重复)
2. 键值对中存储的数据是"无序的".
3. 键值对集合可以根据键, 快速获取数据
- (NSUInteger)count;
返回字典的键值对数目
- (id)objectForKey:(id)aKey;
根据key取出value
NSDictionary的遍历
快速遍历
for (NSString *keyindict) { }
Block遍历
[dict enumerateKeysAndObjectsUsingBlock:^(id key,id obj,BOOL*stop) {
}];
注意:字典遍历的顺序是不一定的。不能通过索引来获取值,所以不能使用for循环来遍历.
NSDictionary的创建
以前
[NSDictionary dictionaryWithObjectsAndKeys:@"Jack", @"name", @"男", @"sex", nil];
现在
@{@"name": @"Jack", @"sex" : @"男”};
NSDictionary获取元素
以前
[dict objectForKey:@"name”];
现在
dict[@"name”];
NSMutableDictionary的增添
NSMutableDictionary *dict = [NSMutableDictionary dictionary];
添加键值对
[dict setObject:@"jack" forKey:@"name"];
[dict setObject:@"北京"
forKey:@"address"];
[dict setObject:@"rose" forKey:@"name"];
移除键值对
[dict removeObjectForKey: ]
+ (instancetype)dictionary;
+ (instancetype)dictionaryWithObject:(id)objectforKey:(id <NSCopying>)key; // objectForKey,根据键取值。
+ (instancetype)dictionaryWithObjectsAndKeys:(id)firstObject,...;
@{@"zs": @"zhangsan",@"ls": @"lisi",@"ww": @"Wangwu"};
键值对集合的特点
1. 字典存储的时候,必须是"键值对"的方式来存储(同时键不要重复)
2. 键值对中存储的数据是"无序的".
3. 键值对集合可以根据键, 快速获取数据
- (NSUInteger)count;
返回字典的键值对数目
- (id)objectForKey:(id)aKey;
根据key取出value
NSDictionary的遍历
快速遍历
for (NSString *keyindict) { }
Block遍历
[dict enumerateKeysAndObjectsUsingBlock:^(id key,id obj,BOOL*stop) {
}];
注意:字典遍历的顺序是不一定的。不能通过索引来获取值,所以不能使用for循环来遍历.
NSDictionary的创建
以前
[NSDictionary dictionaryWithObjectsAndKeys:@"Jack", @"name", @"男", @"sex", nil];
现在
@{@"name": @"Jack", @"sex" : @"男”};
NSDictionary获取元素
以前
[dict objectForKey:@"name”];
现在
dict[@"name”];
NSMutableDictionary的增添
NSMutableDictionary *dict = [NSMutableDictionary dictionary];
添加键值对
[dict setObject:@"jack" forKey:@"name"];
[dict setObject:@"北京"
forKey:@"address"];
[dict setObject:@"rose" forKey:@"name"];
移除键值对
[dict removeObjectForKey: ]
相关文章推荐
- 【LeetCode-面试算法经典-Java实现】【109-Convert Sorted List to Binary Search Tree(排序链表转换成二叉排序树)】
- 【LeetCode-面试算法经典-Java实现】【108-Convert Sorted Array to Binary Search Tree(排序数组转变为平衡二叉树)】
- 【LeetCode-面试算法经典-Java实现】【107-Binary Tree Level Order Traversal II(二叉树层序遍历II)】
- OSChina 周一乱弹 —— 程序员进阶之路
- 黑马程序员——Java基础工具类---Collections、Arrays、超级for循环、静态导入、方法可变参数
- 黑马程序员——Java基础语法---流程控制与函数
- 【黑马程序员】分类的概念及使用流程
- 黑马程序员——Java基础---反射Class类、Constructor类、Field类
- 《程序员的呐喊》读书笔记(下)
- 黑马程序员——其他6:枚举
- 黑马程序员——java学习12(毕20--21)——IO_2
- 剑指Offer——面试小提示(持续更新中)
- PHP的关于变量和日期处理的一些面试题目整理
- PHP的文件操作与算法实现的面试题示例
- 黑马程序员——Java基础---集合(二)------Map集合
- 关注程序员健康,刻不容缓
- 黑马程序员——23, Properties,Runtime,Date类,Math类,
- 黑马程序员——JAVA内部类概述与内部被继承与继承其他类的问题
- 剑指Offer面试题38(Java版):数字在排序数组中出现的次数
- 【程序员眼中的统计学(11)】卡方分布的应用