我正在开发一个项目,我在其中读取设备生成的逗号分隔值文件。我无法控制文件,它可以包含10-20个命名参数,每个参数在一段时间内有数千个值。我计划将DataRecord与之后的时间相关联。也就是说,每次都会有一个与之关联的DataRecord。因此,在生成解析数据结构时,我的代码需要是动态的。我无法想办法解开我从原始数据文件解析的数组。这是一个例子。
@interface DataRecord : NSObject
@property (nonatomic, strong) NSString *name;
@property (nonatomic, strong) NSArray *values;
@end
NSArray *nameArray = [[NSArray alloc] initWithObjects:
@"Analog", @"Battery", nil];
NSArray *valueArray1 = [[NSArray alloc] initWithObjects:
[NSNumber numberWithFloat:1.0f],
[NSNumber numberWithFloat:2.0f],
nil];
NSArray *valueArray2 = [[NSArray alloc] initWithObjects:
[NSNumber numberWithFloat:1.1f],
[NSNumber numberWithFloat:2.1f],
nil];
NSArray *valueArray3 = [[NSArray alloc] initWithObjects:
[NSNumber numberWithFloat:1.2f],
[NSNumber numberWithFloat:2.2f],
nil];
NSArray *valueArray4 = [[NSArray alloc] initWithObjects:
[NSNumber numberWithFloat:1.3f],
[NSNumber numberWithFloat:2.3f],
nil];
NSArray *arrayOfArrays = [NSArray arrayWithObjects:valueArray1,
valueArray2, valueArray3, valueArray4, nil];
我最终想要的是一系列数据记录,
DataRecord(0)
name: analog
values: (1.0, 1.1, 1.2, 1.3)
DataRecord(1)
name: battery
values: (2.0, 2.1, 2.2, 2.3)
也许我应该使用字典,结构,我不确定,追逐我的尾巴。
谢谢。
答案 0 :(得分:0)
未测试:
NSMutableArray *dataRecords = [NSMutableArray new];
for (NSUInteger i = 0; i < [nameArray count]; i++)
{
DataRecord *dr = [DataRecord new];
dr.name = nameArray[i];
NSMutableArray *values = [NSMutableArray new];
for (NSArray *array in arrayOfArrays)
[values addObject:array[i]];
dr.values = values;
[dataRecords addObject:dr];
}