(2)NSDictionary *dic = [NSDictionary dictionary];
(3)NSDictionary *dic = [[NSDictionary alloc]initWithObjectsAndKeys:@"1", @"2", @"3", @"4",@"5", @"6", @"7", @"8", nil];
NSLog(@"%@",dic); //打印
2. 当前有多少键值对
NSLog(@"%ld", dic.count);
3.通过key找到对应value
NSLog(@"%@", [dic objectForKey:@"2"]);
NSLog(@"%@", dic[@"2"]); //dic[对应的key]
4.获取字典所有的key 和 value
NSLog(@"%@", dic.allKeys);
NSLog(@"%@", dic.allValues);
**********************************************************************************************
1.创建可变的字典对象
NSMutableDictionary *dic = [NSMutableDictionary dictionary]; //定义空字典
NSMutableDictionary *dic1 = [NSMutableDictionary dictionaryWithObjectsAndKeys:@"1", @"2", @"3", @"4",@"5", @"6", nil];
2.for遍历该字典(遍历的是value)
for(NSInteger i = 0; i < dic1.allKeys.count; i++) {
NSLog(@"%@", dic1.allValues[i]);
}
for (NSString *str in dic1) {
NSLog(@"%@", str); //遍历的是key
}
for (NSString *str in dic1) {
NSLog(@"%@", dic1[str]); //遍历的是value
}
NSMutableDictionary *dic = [NSMutableDictionary dictionaryWithObjectsAndKeys:@"1", @"2", @"3", @"4",@"5", @"6", nil];
[dic setObject:@"7" forKey:@"8”]; //添加键值对
NSLog(@"%@", dic);
[dic setObject:@"7" forKey:@"8”]; //修改键值对
NSLog(@"%@", dic);
[dic removeObjectForKey:@"8”]; //移除键值对
NSLog(@"%@", dic);
[dic removeAllObjects]; //移除全部键值对
NSLog(@"%@", dic);
NSArray *arr2 = @[@"5", @"6", @"7", @"8"];
NSMutableDictionary *dic = [NSMutableDictionary dictionaryWithObjectsAndKeys:arr1, @"arr1", arr2, @"arr2", nil];
//遍历 放key的类型
for(NSString *str in dic) {
//针对对应的key找到value,value是一个数组,所以用一个数组对象来接受
NSArray *arr = dic[str];
for (NSString *temp in arr) {
NSLog(@"%@", temp);
}
}
NSDictionary *dic1 = [NSDictionary dictionaryWithObjectsAndKeys:@"杨林", @"name", @"19", @"age", nil];
NSDictionary *dic2 = [NSDictionary dictionaryWithObjectsAndKeys:@"刘珊珊", @"name", @"14", @"age", nil];
NSDictionary *dic3 = [NSDictionary dictionaryWithObjectsAndKeys:@"商帅", @"name", @"22", @"age", nil];
NSArray *arr = @[dic1, dic2, dic3];
//遍历value
for (NSDictionary *dic in arr) {
for (NSString *key in dic) {
NSLog(@"%@", dic[key]);
}
}
NSDictionary *dic1 = [NSDictionary dictionaryWithObjectsAndKeys:@"杨林", @"name", @"19", @"age", nil];
NSDictionary *dic2 = [NSDictionary dictionaryWithObjectsAndKeys:@"刘珊珊", @"name", @"14", @"age", nil];
NSDictionary *dic3 = [NSDictionary dictionaryWithObjectsAndKeys:@"商帅", @"name", @"22", @"age", nil];
NSArray *arr1 = @[dic1, dic2];
NSArray *arr2 = @[dic3];
NSDictionary *bigDic = [NSDictionary dictionaryWithObjectsAndKeys:arr1,@"arr1", arr2, @"arr2", nil];
for (NSString *str in bigDic) {
NSArray *arr = bigDic[str]; //字典里嵌套数组,需要赋值
//第二层
for (NSDictionary *dic in arr) {
//第三层
for (NSString *temp in dic) {
NSLog(@"%@",dic[temp]);
}
}
}
NSDictionary *dic1 = [NSDictionary dictionaryWithObjectsAndKeys:@"杨林", @"name", @"19", @"age", nil];
NSDictionary *dic2 = [NSDictionary dictionaryWithObjectsAndKeys:@"刘珊珊", @"name", @"14", @"age", nil];
NSDictionary *dic3 = [NSDictionary dictionaryWithObjectsAndKeys:@"商帅", @"name", @"22", @"age", nil];
NSArray *arr1 = @[dic1, dic2];
NSArray *arr2 = @[dic3];
NSArray *bigArr = @[arr1, arr2];
for (NSArray *str in bigArr) {
for (NSDictionary *dic in str) {
for (NSString *temp in dic ) {
NSLog(@"%@", dic[temp]);
}
}
}
NSDictionary *dic = @{@"1": @"2", @"3": @"4"};
NSLog(@"%@", dic);
NSMutableDictionary *book1 = [NSMutableDictionary dictionaryWithObjectsAndKeys:@"三国演义",@"name",@"100", @"price", nil];
NSMutableDictionary *book2 = [NSMutableDictionary dictionaryWithObjectsAndKeys:@"水浒传",@"name",@"34", @"price", nil];
NSMutableDictionary *book3 = [NSMutableDictionary dictionaryWithObjectsAndKeys:@"西游记",@"name",@"89", @"price", nil];
//放在可变的数组里
NSMutableArray *bookArr = [NSMutableArray arrayWithObjects:book1 ,book2, book3,nil];
//添加,删除书籍
NSMutableDictionary *book4 = [NSMutableDictionary dictionaryWithObjectsAndKeys:@"哈利波特",@"name",@"59", @"price", nil];
[bookArr addObject:book4];
NSLog(@"%@ %@", book4[@"name"], book4[@"price"]);
//可以从数组根据书名查找书籍,并修改书籍的价格
for (NSMutableDictionary *dic in bookArr) {
if ([dic[@"name"]isEqualToString:@"三国演义"] ) {
[dic setObject:@"1000" forKey:@"price"];
}
}
//展示所有书籍清单
for (NSMutableDictionary *dic in bookArr) {
NSLog(@"%@", dic[@"name"]);
}
注意区别:
NSMutableDictionary *dic = [NSMutableDictionary dictionaryWithObjectsAndKeys:@"1", @"2", @"3", @"4",@"5", @"6", nil];
[dic setValue:nil forKey:@"2"]; //清空2所对应的键值对
NSLog(@"%@", dic);
[dic setObject:nil forKey:@"2"]; //错误:setObject后不可以为空
NSLog(@"%@", dic);