2016-07-15 5 views
1

私は、デバイスで生成されたカンマ区切りの値ファイルを読み込むプロジェクトに取り組んでいます。私はファイルを制御することができず、ある期間にわたり各パラメータに対して数千の値を持つ名前付きパラメータを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

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

恐ろしいが、そんなにありがとう、魔法のように動作します。 – TCunningham

関連する問題