// Person * p1 = [[Person alloc] initWithName:@"张山" sex:@"男" age:25];
// Person * p2 = [[Person alloc] initWithName:@"李四" sex:@"男" age:54];
// Person * p3 = [[Person alloc] initWithName:@"杨紫" sex:@"女" age:20];
// Person * p4 = [[Person alloc] initWithName:@"张1山" sex:@"男" age:21];
// Person * p5 = [[Person alloc] initWithName:@"李2四" sex:@"男" age:52];
// Person * p6 = [[Person alloc] initWithName:@"杨3紫" sex:@"女" age:23];
//动态内存数组
// NSMutableArray * array = [[NSMutableArray alloc] initWithCapacity:3];//可变数组-初始化
//往数组中添加元素
// [array addObject:p1];
// [array addObject:p2];
// [array addObject:p3];
// [array addObject:p4];
// [array addObject:p5];
// [array addObject:p6];
// NSLog(@"%@",array);
// NSLog(@"%ld",[array count]);
// [array insertObject:p1 atIndex:1];//插入元素,在指定位置
// NSLog(@"%@",array);
// [array removeLastObject];//删除数组最后一个元素
//NSLog(@"%@",array);
//[array removeObject:p1];//删除指定的数组元素
//删除某个范围内的数组
// [array removeObject:p3 inRange:NSMakeRange(1, 2)];
// NSLog(@"%@",array);
// for (int i = 0; i < [array count]; i++) {
// [array removeObjectAtIndex:i];
// i--;
// }
// NSLog(@"%@",array);
//用一个新对象替换某个位置的对象
// [array replaceObjectAtIndex:1 withObject:p1];
// NSLog(@"%@",array);
//交换两个指定下标的对象
// [array exchangeObjectAtIndex:0 withObjectAtIndex:4];
// NSLog(@"%@",array);
//检查错误,看***____***里面的内容
// NSArray * array = [NSArray arrayWithObjects:p5,@"11",@"22",p1,p2,nil];
//NSLog(@"%@",array);
// for (int i = 0; i < [array count]; i++) {
// id array1 = [array objectAtIndex:i];
// if ([array1 isKindOfClass:[NSString class]]) {//判断是否是某种类的对象
// NSString * NewStr = [array1 stringByAppendingString:@"蓝鸥"];
// NSLog(@"%@",NewStr);
// }
// }
//
// for (int i = 0; i < [array count]; i++) {
// id array1 = [array objectAtIndex:i];
// if ([array1 isKindOfClass:[NSArray class]]) {//判断是否是某种类的对象
NSString * NewStr = [array1 stringByAppendingString:@"蓝鸥"];
// NSArray * array2 =
// NSLog(@"%@",array2);
// }else{
// NSLog(@"NO");
// }
// }
//
//NSNumber 数值类,用于把基本类型转换成对象,或者是数值对象转换成基本型
// int n = 5;
// NSNumber * number = [NSNumber numberWithInt:n];
// NSArray * array = [NSArray arrayWithObjects:number, [NSNumber numberWithLongLong:8], [NSNumber numberWithShort:2], [NSNumber numberWithFloat:5.6], [NSNumber numberWithChar:'z'],nil];
// int a = [[array firstObject] intValue] + [[array lastObject] intValue];
// int b = [[array firstObject] intValue] + [[NSNumber numberWithInt:5] intValue];
// NSLog(@"%d", b);
/*
字典NSDictionary:(1)键值对(2)字典是无序的(3)存对象(4)通过key索引对应的值(5)key唯一
name <--> 张三
sex <--> 男
age <--> 19
key <---->value
*/
// NSDictionary * dic = [[NSDictionary alloc] initWithObjectsAndKeys:@"zhangsan", @"姓名",@"男",@"sex", @"19", @"age", nil];
// NSLog(@"%@",dic);
// NSDictionary * dir = [NSDictionary dictionaryWithObjectsAndKeys:@"zhansan", @"name", @"M", @"sex", @"19", @"age", nil];
// NSLog(@"%@",dir);
//将key与值一一对应
// NSArray * valueArray = [NSArray arrayWithObjects:@"zhangsan", @"lisi", @"18" , @"M", @"dog", nil];
// NSArray * keyArray = [NSArray arrayWithObjects:@"name", @"name1", @"age" , @"sex", @"*", nil];
// NSDictionary * dic = [NSDictionary dictionaryWithObjects:valueArray forKeys:keyArray];
// NSLog(@"%@",dic);
//字典元素个数
// NSInteger a =[dic count];
// NSLog(@"%ld",a);
//所有的keys
// NSArray * key = [dic allKeys];
// NSLog(@"%@",key);
//所有的value
// NSArray * value = [dic allValues];
// NSLog(@"%@",value);
// NSLog(@"%@",[dic allValues]);
//根据key键找对应的值
// NSString * name = [dic objectForKey:@"name"];
// NSLog(@"%@", name);
// for (int i= 0; i < [dic count]; i++){
//先取出每个key
// NSString * key = [[dic allKeys]objectAtIndex:i];
// //通过key取出每个value
// NSString * value = [dic objectForKey:key];//根据key键的值找到对应的vallue值
// NSLog(@"%@",value);
// NSString * value = [[dic allValues] objectAtIndex:i];
// NSLog(@"%@",value);
// }
// NSMutableDictionary * dic = [NSMutableDictionary dictionaryWithCapacity:1];
// [dic setObject:@"zhangsan" forKey:@"name"];
// [dic setObject:@"19" forKey:@"age"];
// [dic setObject:@"M" forKey:@"sex"];//添加一个键值对
// [dic setObject:@"zhangsan" forKey:@"name1"];
// NSLog(@"%@",dic);
//[dic setObject:@"zhangsan" forKeyedSubscript:@"wang"];
// NSLog(@"%@",dic);
// [dic removeObjectForKey:@"wang"];//移除key可以对应的值
// NSLog(@"%@",dic);
// [dic removeAllObjects];//移除所有键值对
// NSLog(@"%@",dic);
// [dic removeObjectsForKeys:[NSArray arrayWithObjects:@"name", @"age", nil]];//移除多个key可以对应的值
// NSLog(@"%@",dic);
//------------------数组里面嵌套数组(二维数组)
// NSArray * fristArray = [NSArray arrayWithObjects:@"111", @"222", @"333",@"444", nil];
// NSArray * twoArray = [NSArray arrayWithObjects:@"AAA", @"BBB", @"CCC", nil];
// NSArray * bigArray = [NSArray arrayWithObjects:fristArray, twoArray, nil];
// NSLog(@"%@",bigArray);
//遍历二维数组
// for (int i = 0; i < [bigArray count]; i++){
// NSArray * smallArray = [bigArray objectAtIndex:i];
// for (int j = 0; j < [smallArray count]; j++) {
// NSString * string = [smallArray objectAtIndex:j];
// NSLog(@"string = %@",string);
// }
// }
//遍历二维数组
// for (int i = 0; i < [bigArray count]; i++) {
// for (int j = 0; j < [[bigArray objectAtIndex:i] count]; j++) {
// NSString * string = [[bigArray objectAtIndex:i] objectAtIndex:j];
// NSLog(@"%@",string);
// }
// }
//------------------数组嵌套字典
// NSDictionary * stuDic1 = [NSDictionary dictionaryWithObjectsAndKeys:@"zhangsan", @"name", @"19", @"age", @"M", @"sex", nil];
//
// NSDictionary * stuDic2 = [NSDictionary dictionaryWithObjectsAndKeys:@"lishi", @"name", @"14", @"age", @"W", @"sex", nil];
// NSArray * array = [NSArray arrayWithObjects:stuDic1,stuDic2, nil];
// NSLog(@"%@",array);
//
//
// for (int i = 0; i < [array count]; i++) {
// NSDictionary * dic = [array objectAtIndex:i];
// for (int j = 0; j < [dic count]; j++) {
// NSString * key = [[dic allKeys] objectAtIndex:j];
// NSString * value = [dic objectForKey:key];
// NSLog(@"%@ = %@", key, value);
// }
// }
//--------------------字典嵌套数组
// NSArray * fristArray = [NSArray arrayWithObjects:@"111", @"222", @"333",@"444", nil];
// NSArray * twoArray = [NSArray arrayWithObjects:@"AAA", @"BBB", @"CCC", nil];
//
// NSDictionary * dic = [NSDictionary dictionaryWithObjectsAndKeys:fristArray, @"frist", twoArray, @"two", nil];
// NSLog(@"%@",dic);
//
// //外层循环遍历字典
// for (int i = 0; i < [dic count]; i++) {
// //取出字典的每个key
// NSString * key = [[dic allKeys] objectAtIndex:i];
// //根据key取出对应的小数组
// NSArray * smallArray = [dic objectForKey:key];
// //内层循环遍历小数组
// for (int j = 0; j <[smallArray count]; j++) {
// //取出每个小数组的内容
// NSString * string = [smallArray objectAtIndex:j];
// NSLog(@"string = %@", string);
// }
// }
//----------------字典嵌套字典
NSDictionary * stuDic1 = [NSDictionary dictionaryWithObjectsAndKeys:@"zhangsan", @"name", @"19", @"age", @"M", @"sex", nil];
NSDictionary * stuDic2 = [NSDictionary dictionaryWithObjectsAndKeys:@"lishi", @"name", @"14", @"age", @"W", @"sex", nil];
NSDictionary * bigDic = [NSDictionary dictionaryWithObjectsAndKeys:stuDic1, @"frist", stuDic2, @"two", nil];
NSLog(@"%@",bigDic);
//外层循环遍历大字典
for (int i = 0; i < [bigDic count]; i++) {
//取到大字典的每个key
NSString * key = [[bigDic allKeys] objectAtIndex:i];
//根据key取到每个小字典
NSDictionary * smallDic = [bigDic objectForKey:key];
//内层循环遍历每个小字典
for (int j = 0; j < [smallDic count]; j++) {
//取到每个小字典的key
NSString * key1 = [[smallDic allKeys] objectAtIndex:j];
//根据key取出小字典的内容
NSString * dic =[smallDic objectForKey:key1];
NSLog(@"%@",dic);
}
}
转载于:https://blog.51cto.com/zhangys2007/1604453