【问题标题】:Get all key values from NSDictionary in order Objective C按Objective C的顺序从NSDictionary中获取所有键值
【发布时间】:2021-07-09 03:57:49
【问题描述】:

我需要获取 Dictionary 的所有键及其值。

例如

我有一本像这样的字典:

{
    "Last_Settled_Amount" = "7056.92";
    "Last_Settled_Date" = "2021-03-25T00:00:00";
    "Net_Settled_Amount" = "17810.23";
    "Settled_Adjustment_Amount" = "-79";
    "Settled_Tx_Amount" = 7202;
    "Settled_Tx_Fees" = "57.46";
    "Settled_Tx_VAT" = "8.619999999999999";
    "Total_Payment_Count" = 3;
    "Total_Settled_Tx" = 22;
    "Transfer_Charge" = 0;
}

我想获取它的键值,所以我这样实现它

for (NSString* key in [dd allKeys]) {

        id value = [dd objectForKey:key];
        NSLog(@"areacodedisplay: value = %@",value);
        NSLog(@"areacodedisplay: key = %@",key);
   }

我能够获取所有键和值,但它不是按顺序排列的。我想要的顺序与我在字典中的顺序相同。

【问题讨论】:

  • 你不能那样做。

标签: ios objective-c sorting dictionary nsdictionary


【解决方案1】:

字典是无序的,但您似乎希望键按字母顺序排列,因此您可以对 allKeys 数组进行排序。

for (NSString* key in [[dd allKeys] sortedArrayUsingSelector:@selector(compare:)]) {
    id value = [dd objectForKey:key];
    NSLog(@"areacodedisplay: value = %@",value);         
    NSLog(@"areacodedisplay: key = %@",key);
}

如果您希望这些值具有特定但任意的顺序,那么您需要直接访问每个值。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多