黑马程序员——Objective-C学习之不可变与可变字典(NSDictionary\NSMutableDictionary)
来源:互联网 发布:linux mount nfs目录 编辑:程序博客网 时间:2024/05/16 12:08
------Java培训、Android培训、iOS培训、.Net培训、期待与您交流! -------
一、NSDictionary
1> NSDictionary(字典)通常在给定一个关键字(通常是一个NSString字符串)下存储一个数值(可以是任何类型的对象)。然后你可以使用这个关键字查找相应的数值;
2> NSDictionary里面存储的是键值对,key----->value;
3> 常用方法:
创建字典:
+ (instancetype)dictionaryWithObjectsAndKeys:(id)firstObject, ...;
获取字典中的值:
- (id)objectForKey:(id)aKey;
二、NSMutableDictionary
1> 创建新的NSMutableDictionary对象,向类NSMutableDictionary发送dictionary消息;
2> NSMutableDictionary继承自NSDictionary;
3> NSMutableDictionary可变字典,NSDictionary不可变字典;
4> 常用方法:
添加键值对\元素:
- (void)setObject:(id)anObject forKey:(id <NSCopying>)aKey;
若对字典中已有的关键字使用setObject:forKey:方法,则用新的值替换旧值;
删除可变字典中的一个关键字:
- (void)removeObjectForKey:(id)aKey;
二、用法
//初始化 NSString *key1 = @"key1"; NSString *key2 = @"key2"; NSString *key3 = @"key3"; NSString *key4 = @"key4"; NSString *key5 = @"key5"; NSString *value1 = @"value1"; NSString *value2 = @"value2"; NSString *value3 = @"value3"; NSString *value4 = @"value4"; NSString *value5 = @"value5"; NSDictionary *dic1 = [NSDictionary dictionaryWithObject:value1 forKey:key1]; NSDictionary *dic2 = [NSDictionary dictionaryWithObjectsAndKeys:value1,key1,value2,key2, nil]; NSDictionary *dic3 = [NSDictionary dictionaryWithDictionary:dic2]; NSDictionary *dic4 = [NSDictionary dictionaryWithObjectsAndKeys:value3,key3,value4,key4,value5,key5, nil]; NSLog(@"dic1 = %@",dic1); NSLog(@"dic2 = %@",dic2); NSLog(@"dic3 = %@",dic3); //获取字典数量 int size = [dic3 count]; NSLog(@"dic3 size is %d",size); //获取value NSString *value = [dic3 objectForKey:key1]; NSLog(@"dic3 value1 is %@",value); //获取所有的key和value NSArray *allKeys = [dic3 allKeys]; NSArray *allValues = [dic3 allValues]; NSLog(@"allKeys = %@",allKeys); NSLog(@"allValues = %@",allValues); //遍历字典 for (NSString *key in dic3) { NSLog(@"dic3 key is %@, value is %@",key,[dic3 objectForKey:key]); } //--------------------------NSMutableDictionary 可变字典 ------------------------------------- //初始化 NSMutableDictionary *mDic1 = [NSMutableDictionary dictionaryWithDictionary:dic3]; NSLog(@"mDic1 = %@",mDic1); //添加、修改、删除元素 [mDic1 setValue:value3 forKey:key3]; [mDic1 setObject:value4 forKey:key4]; [mDic1 setValue:@"value333" forKey:key3]; NSLog(@"mDic1 = %@",mDic1); [mDic1 addEntriesFromDictionary:dic4]; NSLog(@"mDic1 = %@",mDic1); [mDic1 removeObjectForKey:key3]; [mDic1 removeObjectForKey:key4]; [mDic1 removeObjectForKey:key5]; NSLog(@"mDic = %@",mDic1); [mDic1 addEntriesFromDictionary:dic4]; NSLog(@"mDic = %@",mDic1); //判断是否含有某个key BOOL b1 = [[mDic1 allKeys] containsObject:key5]; NSLog(@"b1 = %d",b1);
0 0
- 黑马程序员——Objective-C学习之不可变与可变字典(NSDictionary\NSMutableDictionary)
- 黑马程序员——Objective-C学习之不可变与可变字符串(NSString\NSMutableString)
- 黑马程序员——Objective-C学习之不可变与可变集合(NSArray\NSMutableArray)
- 可变字典(NSDictionary)与不可变字典(NSMutableDictionary)
- OC 重点之NSArray(数组) NSDictionary不可变字典类与NSMutableDictionary 可变字典类 (概括)
- 字典 不可变字典NSDictionary 可变字典NSMutableDictionary
- 不可变字典NSDictionary和可变字典NSMutableDictionary
- Objective-C语言——NSDictionary不可变字典
- Objective-C语法-字典NSDictionary和可变字典NSMutableDictionary
- 黑马程序员——Foundation学习之NSDictionary\NSMutableDictionary
- 黑马程序员—Foundation框架之NSDictionary与NSMutableDictionary
- Foundation框架—字典NSDictionary 可变和不可变
- 字典:NSDictionary(不可变字典)、NSMutableDictionary(可变字典)、字面量
- Objective-C语言——NSMutableDictionary可变字典
- 不可变字典NSDictionary 和可可变字典NSMutableDictionary
- Objective-C学习-字典类型 NSDictionary 和 NSMutableDictionary
- Objective-C中可变与不可变字符串的学习
- 黑马程序员——Objective-C学习之遍历字典
- 出现次数最大的整数
- HDU 4705 Y(树型DP)
- Html5游戏之KiwiJs(2)-显示游戏精灵
- 使用svn进行项目版本管理
- 如何正确的给数码设备充电
- 黑马程序员——Objective-C学习之不可变与可变字典(NSDictionary\NSMutableDictionary)
- 层序遍历及其进阶版
- hdu 5068 Harry And Math Teacher ( 线段树+矩阵乘法 )
- Chrome 扩展程序 CrxMouse Techzero优化版 更新至 v3.0.4
- 【c语言】输出乘法口诀表
- VB获取本地IP、计算机名、用户名代码
- 阿拉伯语下wifi突变显示不全
- Chrome 扩展程序 OneTab Techzero优化版 v1.0.0 发布
- javascript类和原型学习笔记