gpt4 book ai didi

objective-c - 将数组展开为类

转载 作者:行者123 更新时间:2023-12-03 17:19:32 25 4
gpt4 key购买 nike

我正在开发一个项目,在该项目中我读取设备生成的逗号分隔值文件。我无法控制该文件,它可以包含 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)

也许我应该使用字典、结构体,我不确定,追着我的尾部。

谢谢。

最佳答案

未经测试:

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];
}

关于objective-c - 将数组展开为类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38406205/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com