0

私は以下のように辞書の応答を持っています

 responceDict=  {
 "2012-11-01" = 46700;
 "2012-11-02" = 27400;
 "2012-11-03" = 19400;
 "2012-11-04" = 15100;
}

のように2つの配列で両方の値を取得したい

 arrayDate=[2012-11-01,2012-11-02,2012-11-03,2012-11-04]
 arrayVal=[46700,27400,19400,15100];

利用した

 arrayDate = [[NSMutableArray alloc] init];
 arrayVal = [[NSMutableArray alloc] init];

    for (id obj in responceDict.allKeys ) {
       // NSLog(@"%@  %@",obj,[responceArr valueForKey:obj]);
        [arrWaterReport addObject:obj];
        [arrDischarge addObject:[responceArr valueForKey:obj]];
    }

しかし、これでは、ソート順で日付シーケンスを維持できません。

それで、どのようにシーケンスの順序を維持できるか教えてください。

4

2 に答える 2

0

私はこれに対する解決策を持っています

 for (id obj in [[responceDict allKeys] sortedArrayUsingSelector:@selector(localizedCaseInsensitiveCompare:)])
    {
        [arrayDate addObject:obj];
        [arrValue addObject:[responceDict valueForKey:obj]];
    }

ありがとう

于 2012-11-09T04:55:32.093 に答える
0

NSDictionary未ソートです。順序付きリストではなく、ハッシュ テーブルです。アイテムを に移動した後、注文を行う必要がありますNS[Mutable]Array

于 2012-11-08T13:23:27.710 に答える