将多个数组放入字典
Put multiple arrays in Dictionary
我正在用for循环多次解析一个CSV文件,这里我需要将这些数组一个一个地存储到字典中。堆栈中关于将 NSArray 添加到 NSDictionary 的问题非常少。我正在用下面的代码解析 CSV,但我发现存储在 NSDictionary 中,程序正在终止并在将字符串分配给字典时显示警告
for (i=0; i<=57; i++) {
NSString *keysString = [csvArray objectAtIndex:i];
NSArray *keysArray = [keysString componentsSeparatedByString:@","];
NSLog(@"Serail No %d %@",i,keysArray);
NSString *string = [NSString stringWithFormat:@"%d", i];
NSMutableDictionary *dict = [NSMutableDictionary dictionaryWithObjects: keysArray forKeys: string];
}
NSMutableDictionary *dict = [[NSMutableDictionary alloc]init];
for (i=0; i<=57; i++) {
NSString *keysString = [csvArray objectAtIndex:i];
NSArray *keysArray = [keysString componentsSeparatedByString:@","];
NSString *key = [NSString stringWithFormat:@"serial%d",i];
[dict setObject:keysArray forKey:key];
}
要从字典中取回数据,
NSArray *array = [dict valueForKey:@"serial24"];//to get array 24.
如果我没理解错的话,您想将数组添加到字典中,键是整数 i
的字符串值?您需要做的是在循环外分配字典 -
NSMutableDictionary *dict=[NSMutableDictionary new];
for (i=0; i<=57; i++) {
NSString *keysString = [csvArray objectAtIndex:i];
NSArray *keysArray = [keysString componentsSeparatedByString:@","];
NSLog(@"Serial No %d %@",i,keysArray);
NSString *string = [NSString stringWithFormat:@"%d", i];
dict[string]=keysArray;
}
我不确定您为什么要这样做,因为这基本上是一个数组。你可以简单地做 -
NSMutableArray *outputArray=[NSMutableArray new];
for (NSString *keysString in csvArray) {
NSArray *keysArray = [keysString componentsSeparatedByString:@","];
[outputArray addObject:keysArray];
}
我正在用for循环多次解析一个CSV文件,这里我需要将这些数组一个一个地存储到字典中。堆栈中关于将 NSArray 添加到 NSDictionary 的问题非常少。我正在用下面的代码解析 CSV,但我发现存储在 NSDictionary 中,程序正在终止并在将字符串分配给字典时显示警告
for (i=0; i<=57; i++) {
NSString *keysString = [csvArray objectAtIndex:i];
NSArray *keysArray = [keysString componentsSeparatedByString:@","];
NSLog(@"Serail No %d %@",i,keysArray);
NSString *string = [NSString stringWithFormat:@"%d", i];
NSMutableDictionary *dict = [NSMutableDictionary dictionaryWithObjects: keysArray forKeys: string];
}
NSMutableDictionary *dict = [[NSMutableDictionary alloc]init];
for (i=0; i<=57; i++) {
NSString *keysString = [csvArray objectAtIndex:i];
NSArray *keysArray = [keysString componentsSeparatedByString:@","];
NSString *key = [NSString stringWithFormat:@"serial%d",i];
[dict setObject:keysArray forKey:key];
}
要从字典中取回数据,
NSArray *array = [dict valueForKey:@"serial24"];//to get array 24.
如果我没理解错的话,您想将数组添加到字典中,键是整数 i
的字符串值?您需要做的是在循环外分配字典 -
NSMutableDictionary *dict=[NSMutableDictionary new];
for (i=0; i<=57; i++) {
NSString *keysString = [csvArray objectAtIndex:i];
NSArray *keysArray = [keysString componentsSeparatedByString:@","];
NSLog(@"Serial No %d %@",i,keysArray);
NSString *string = [NSString stringWithFormat:@"%d", i];
dict[string]=keysArray;
}
我不确定您为什么要这样做,因为这基本上是一个数组。你可以简单地做 -
NSMutableArray *outputArray=[NSMutableArray new];
for (NSString *keysString in csvArray) {
NSArray *keysArray = [keysString componentsSeparatedByString:@","];
[outputArray addObject:keysArray];
}