.不可变词典NSDictionary

字典初始化

NSNumber *numObj = [NSNumber numberWithInt:];

以一个元素初始化

NSDictionary *dic = [NSDictionary dictionaryWithObject:numObj forKey:@"key"];

初始化两个元素

NSDictionary *dic = [NSDictionary dictionaryWithObjectsAndKeys:numObj, @"valueKey", numObj2, @"value2",nil];

初始化新字典,新字典包含otherDic

NSDictionary *dic = [NSDictionary dictionaryWithDictionary:otherDic];

以文件内容初始化字典

NSDictionary *dic = [NSDictionary dictionaryWithContentsOfFile:path];

常用方法

获取字典数量

NSInteger count = [dic count];

通过key获取对应的value对象

NSObject *valueObj = [dic objectForKey:@"key"];

将字典的key转成枚举对象,用于遍历

NSEnumerator *enumerator = [dic keyEnumerator];

获取所有键的集合

NSArray *keys = [dic allKeys];

获取所有值的集合

NSArray *values = [dic allValues];

.可变数组NSMutableDictionary

初始化一个空的可变字典

NSMutableDictionary *dic2 = [NSMutableDictionary dictionaryWithObjectsAndKeys:@"v1",@"key1",@"v2",@"key2",nil];

NSDictionary *dic3 = [NSDictionary dictionaryWithObject:@"v3" forKey:@"key3"];

向字典2对象中添加整个字典对象3

[dic2 addEntriesFromDictionary:dic3];

向字典2对象中最佳一个新的key3和value3

[dic2 setValue:@"value3" forKey:@"key3"];

初始化一个空的可变字典

NSMutableDictionary *dic1 = [NSMutableDictionary dictionary];

将空字典1对象内容设置与字典2对象相同

[dic1 setDictionary:dic2];

将字典中key1对应的值删除

[dic1 removeObjectForKey@"key1"];

NSArray *array = [NSArray arrayWithObjects:@"key1", nil];

根据指定的数组(key)移除字典1的内容

[dic2 removeObjectsForKeys:array];

移除字典所有对象

[dic1 removeAllObjects];

.遍历字典

快速枚举

for (id key in dic){

     id obj = [dic key];

     NSLog(@"%@", obj);

}

NSDictionary *dict = [NSDictionary dictionaryWithObjectsAndKeys:@"value1", @"key1", @"value2", @"key2", nil];

for (NSString *key in dict) {
NSLog(@"key: %@ value: %@", key, dict[key]);
} 一般枚举 NSArray *keys = [dic allKeys]; inr length = [keys count]; for (int i = ; i < length;i++){ id key = keys[i]; id obj = dic[key]; NSLog(@"%@", obj); } 通过枚举类型枚举 NSDictionary *dict = [NSDictionary dictionaryWithObjectsAndKeys:@"value1", @"key1", @"value2", @"key2", nil]; for (NSString *key in dict) {
NSLog(@"key: %@ value: %@", key, dict[key]);
}
  

最新文章

  1. visio二次开发——图纸解析
  2. *按类的某一字段排序(Lv)
  3. OpenCV图像的缩放
  4. 动态获取ul,li的数据
  5. Windows Server 2012 如何实现多个用户远程桌面登陆?
  6. spring学习笔记2(转)
  7. [Swift系列]001-入门准备
  8. 距离顶部估计像素,显示div!
  9. SE 2014年5月6日
  10. 微信公众平台消息接口开发-封装weixin.class.php
  11. 原生JavaScript封装Ajax
  12. tomcat服务器搭建之ngrok——将内网地址映射到外网
  13. 配置Java文件
  14. sublime 部分插件
  15. python全栈开发day21面向对象初识总结
  16. [leetcode]128. Longest Consecutive Sequence最长连续序列
  17. Import Data from *.xlsx file to DB Table through OAF page(转)
  18. 为服务器设置固定IP地址
  19. luogu P1339 [USACO09OCT]热浪Heat Wave
  20. GCD汇总

热门文章

  1. 如何更改UITextField 的placeholder 的字体颜色
  2. [Android Pro] AES加密
  3. android DisplayMetrics 获取屏幕分辨率
  4. iOS - UIButton设置图片文字上图下文排列
  5. ThinkPHP入门(二)
  6. Pyqt QSystemTrayIcon 实现托盘效果
  7. Sexagenary Cycle(天干地支法表示农历年份)
  8. OCJP(1Z0-851) 模拟题分析(一)11
  9. JavaScript中判断对象类型方法大全1
  10. 7-13IN和NOT IN 子查询