您的位置:首页 > 移动开发 > IOS开发

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"]);
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: