iOS 字典方法汇总
2016-06-03 00:00
363 查看
[code=language-objectivec]NSDictionary的所有方法 //什么是字典 //字典是有索引的,每一个索引都对应一个内容 // key value //OC字典的核心就是key&value //NSDictionary NSMutableDictionary //NSDictionary //字典是无序的 //alloc 创建 NSDictionary *dic = [[NSDictionary alloc] initWithObjectsAndKeys:@"V1",@"K1", nil]; //字典都是由一对对象组成的,这一对对象前者是value,后者是key,key是字符串,value是任意对象 NSLog(@"%@",dic); //打印出来的字典由{}包围,{}里面是key = value的格式 NSDictionary *dic1 = [[NSDictionary alloc] initWithDictionary:dic]; //类方法 创建 key不要重复 NSDictionary *dic2 = [NSDictionary dictionaryWithObjectsAndKeys:@"虾条",@"零食",@"面条",@"主食",@"手抓肉",@"炒菜",@"二锅头",@"饮料", nil]; NSDictionary *dic3 = [NSDictionary dictionaryWithDictionary:dic2]; //找到对应key的value //关键词是objectForKey:参数是key,返回值是对应key的value,value是什么类型的对象,返回值就是什么类型的返回值 NSString *mainFood = [dic2 objectForKey:@"主食"]; NSLog(@"%@",mainFood); NSString *drink = [dic2 objectForKey:@"饮料"]; //遍历,遍历数组直接就遍历那些对象。字典遍历的时候不是value,遍历的是key NSArray *dicArr = [dic2 allKeys];//通过allKeys可以找到一个字典里面的所有的key,返回值是一个数组 for(int i = 0;i<[dicArr count];i++) { NSLog(@"%@",[dicArr objectAtIndex:i]); } //练习,有一个字典@[@"a":@"A",@"b":@"B",@"c":@"C",@"d":@"D"] //先创建出来, //找到c这个key对应的value //遍历这个字典,查找是否有d这个key,如果有,打印他的value NSDictionary *charDic = [NSDictionary dictionaryWithObjectsAndKeys:@"A",@"a",@"B",@"b",@"C",@"c",@"D",@"d", nil]; NSLog(@"%@",[charDic objectForKey:@"c"]); NSArray *charDicArr = [charDic allKeys]; for(NSString *tempStr in charDicArr) { if([tempStr isEqualTo:@"d"]) { NSLog(@"%@",[charDic objectForKey:tempStr]); } else { NSLog(@"这个不是"); } } 4、NSMutableDictionary的所有方法 //NSMutableDictionary //创建 NSMutableDictionary *mutableDic = [NSMutableDictionary dictionaryWithCapacity:0]; //增添加新的key和value [mutableDic setValue:@"china" forKey:@"country"]; [mutableDic setValue:@"北京" forKey:@"province"]; //删除 [mutableDic removeObjectForKey:@"country"]; [mutableDic removeAllObjects]; //练习 //建一个可变字典 NSMutableDictionary *peopleDic = [NSMutableDictionary dictionaryWithCapacity:0]; //set两个value&key(name:lucy,age:16) [peopleDic setObject:@"lucy" forKey:@"name"]; [peopleDic setObject:@"16" forKey:@"age"]; //根据age找到value NSLog(@"%@",[peopleDic objectForKey:@"age"]); //添加一个value&key(sex:female) [peopleDic setObject:@"female" forKey:@"sex"]; //删除一个value&key(name) [peopleDic removeObjectForKey:@"name"]; //全删 [peopleDic removeAllObjects]; //数组、字典里面的内容不光是字符串(NSString),而可能是所有的对象类型 NSMutableArray *tableArr = [NSMutableArray arrayWithCapacity:0]; for(int i = 0;i<5;i++) { NSDictionary *hereDic = [NSDictionary dictionaryWithObjectsAndKeys:[NSString stringWithFormat:@"age is %d",arc4random()%100],@"age",[NSString stringWithFormat:@"sex is %d",arc4random()%1],@"sex",[NSString stringWithFormat:@"height is %d",arc4random()%200],@"height", nil]; [tableArr addObject:hereDic]; } NSLog(@"%@",tableArr); NSLog(@"age is %@",[[tableArr objectAtIndex:1] objectForKey:@"age"]); }
相关文章推荐
- iOS属性修饰符总结
- 【转】iOS手势识别的详细使用(拖动,缩放,旋转,点击,手势依赖,自定义手势) -- 不错不错
- 从此走上一条iOS程序猿不归路。。。
- ios学习资料
- 【iOS开发】Xcode提高编译速度
- IOS将字符串转换为日期时间格式
- iOS中集成ijkplayer视频直播框架
- iOS时间个性化设置设置
- iOS知识点整理-RunLoop
- ios文件操作之目录操作-NSFileManager
- IOS 封装button
- iOS之MD5加密
- present动画效果
- iOS监听模式系列之对APNs的认知与理解
- iOS监听模式系列之对APNs的认知与理解
- Hybrid----优秀开源代码解读之JS与iOS Native Code互调的优雅实现方案-备
- iOS的REST服务-备
- 即时通信
- 多线程
- IOS动画机制