簡體   English   中英

如何在將字典的所有鍵和值轉換為數組的同時保持排序順序

[英]How can maintain ordering sequencing order while convert all key and value of dictionary into array

我對字典的響應如下

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

我想在兩個數組中獲得兩個值

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

但是在這種情況下,我無法按其排序順序維護日期序列。

所以有人會建議我如何保持其測序順序。

NSDictionary未排序。 這是一個哈希表,而不是有序列表。 將項目移至NS[Mutable]Array后,需要進行訂購。

我對此有解決方案

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

謝謝

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM