// 创建字典对象
NSDictionary *dic = [[NSDictionary alloc]init];
NSDictionary *dic = [NSDictionary dictionary];
NSDictionary *dic = [NSDictionary dictionaryWithObjectsAndKeys:@”value”,@”key”,@”value”,@”4”,@”5”,nil];
NSLog(@”%@”, dic);
// key是唯一的,value可以重复
// key不能为空
NSLog(@”%ld”,dic.count); //当前有多少(keyValue)键值对
//NSLog(@”%@”,[dic objectForKey:@”4”]); //通过key找到对应的Value值
NSLog(@”%@”,dic[@”2”]); // 还可以这样写 dic[对应的key]
//获取字典所有的key和所有的value
NSLog(@”%@”,dic.allKeys);
NSLog(@”%@”,dic.allValues);
//可变的字典
NSMutableDictionary *dic = [NSMutableDictionary dictionary];
NSMutableDictionary *dicOne = [NSMutableDictionary dictionaryWithObjectsAndKey:@”1”,@”2”,@”3”,@”4”,@”5”,@”6”,nil ] ;
NSLog(@”%@”,dicOne.allKeys);
NSLog(@”%@”,dicOne.allValues);
for (NSInteger i = 0 ; i < dicOne.allkeys.count ; i++){
NSLog(@”%@”,dicOne.allValues[i]);
}
// for in 的前部分是字典里的key
for (NSString *str in dicOne) {
NSLog(@”%@”,dic[str]);
}
// 对可变的字典,当前的key不存在的时候,可以进行键值对的添加,当key存在,可以进行值的修改
[dic setObject:@”7” forkey:@”8”];
[dic setObject:@”100” forKey:@”8”];
NSLog(@”%@”,dic);
//移除键值对
[dic removeObjectForKey:@”8”];
NSLog(@”%@”,dic);
//全部移除
[dic removeAllObjects];
NSLog(@”%@”,dic);
//setObject是字典自己的方法,setValue是KVC的方法,即时效果一样,但以后要对字典进行操作,要用setObject
[dic setValue:@”100” forKey:@”nihao”];
NSLog(@”%@”,dic);
//字典里嵌套数组
NSArray *arrOne = @[@”1”,@”2”,@”3”,@”4”];
NSArray *arrTwo = @[@”5”,@”6”,@”7”,@”8”];
NSMutableDictionary *dic = [NSMutableDictionary dictionaryWithObjectsAndKeys:arrOne,@”arrOne”,arrTwo,@”arrTwo”,nil]; //将数组放入字典
//遍历
for (NSString *str in dic){ // in 前面放的是key
NSArrary *arr = dic[str]; //针对对应的key找到value,value是一个数组,所以用一个数组对象来接受
for (NSString *temp in arr){
NSLog(@”%@”,temp);
}
}
//数组里的对象是字典
NSDictionary *dicOne = [NSDictionary dictionaryWithObjectsAndKeys:@”孙悟空”, @”name”,@”19”,@”age”,nil];
NSDictionary *dicTwo = [NSDictionary dictionaryWithObjectsAndKeys:@”唐僧”,@”name”,@”20”,@”age”, nil];
NSDictionary dicThree = [NSDictionary dictionaryWithObjectAndKeys:@”猪八戒”,@”name”,@”18”,@”age”, nil];
NSArrary *arr = @[dicOne,dicTwo,dicThree];
for (NSDictionary *dic in arr) { //外层是数组遍历
for (NSString *key in dic){ //内存是字典遍历
NSLog(@”%@”,dic[key]);
}
}
NSDictionary *dicOne = [NSDictionary dictionaryWithObjectsAndKeys:@”孙悟空”,@”name”,@”19”,@”age”,nil];
NSDictionary *dicTwo =[NSDictionary dictionaryWithAndKeys:@”唐僧”,@”name”,@”20”,@”age”,nil];
NSDictionary * dicThree = [NSDictionary dictionaryWithObjectsAndKeys:@”猪八戒”,@”name”,@”18”,@”age”,nil];
NSArray *arr = @[dicOne,dicTwo,DicThree];
for (NSDictionary *dic in arr){ //外层是数组遍历
for (NSString *key in dic){ // 内层是字典遍历
NSLog(@”%@”, dic[key]);
}
}
NSDictionary *dicOne = [NSDictionary dictionaryWithObjectsAndKeys:@”孙悟空”,@”name”,@”19”,@”age”,nil];
NSDictionary *dicTwo = [NSDictionary dictionaryWithObjectsAndKeys:@”唐僧”,@”name”,@”20”,@”age”,nil];
NSDictionary *dicThree = [NSDictionary dictionaryWithObjectsAndKeys:@”猪八戒”,@”name”,@”18”,@”age”,nil];
NSArray *arrOne =@[dicOne,dicTwo];
NSArray *arrTwo = @[dicThree];
NSDictionary *bigDic = [NSDictionary dictionaryWithObjectsAndKeys:arrOne,@”arrOne”,arrow,@”arrow”,nil];
for (NSString *str in bigDic){
NSArray *arr = bigDic[str];
for (NSDictionary *dic in arr){
for (NSString *str in dic){
NSLog(@”%@”,dic[str]);
}
}
}
NSDictionary *dicOne = [NSDictionary dictionaryWithObjectsAndKeys:@”孙悟空”,@”name”,@”19”,@”age”,nil];
NSDictionary *dicTwo=[NSDictionary dictionaryWithObjectsAndKeys:@”唐僧”,@”name”,@”20”,@”age”,nil];
NSDictionary *dicThree=[NSDictionary dictionaryWithObjectsAndKeys:@”猪八戒”,@”name”,@”18”,@”age”,nil];
NSArray *arrOne = @[dicOne,dicTwo];
NSArray *arrTwo = @[dicThree];
NSDictionary *bigDic = [NSDictionary dictionaryWithObjectsAndKeys:arrOne,@”arrOne”,arrTow,@”arrow”,nil];
NSArray *bigArr =@[arrOne,arrTwo];
for (NSArray *arr in bigArr){
for (NSDictionary *dic in arr){
for (NSString *str in dic){
NSLog(@”%@”,dic[str]);
}
}
}