Objective c 如何在iOS中比较两个字典键值并在单元格中打印文本?

Objective c 如何在iOS中比较两个字典键值并在单元格中打印文本?,objective-c,uitableview,comparison,nsmutabledictionary,Objective C,Uitableview,Comparison,Nsmutabledictionary,我有两本有多个项目的字典。我想比较数值 Dict1:{ "Displacement_trim" = "49.26 "; "Dry_Weight" = "<null>"; } Dict2:{ "Displacement_trim" = "171.20 "; "Dry_Weight" = "<null>"; } Dict1:{ “位移微调”=“49.26”; “干重”=“”; } 格言2:{ “位移微调”=“171.20”; “干重”=“”; } 我想知道哪个“位移

我有两本有多个项目的字典。我想比较数值

Dict1:{
"Displacement_trim" = "49.26 ";
"Dry_Weight" = "<null>";
}

Dict2:{
"Displacement_trim" = "171.20 ";
"Dry_Weight" = "<null>";
} 
Dict1:{
“位移微调”=“49.26”;
“干重”=“”;
}
格言2:{
“位移微调”=“171.20”;
“干重”=“”;
} 
  • 我想知道哪个“位移微调”更大
  • 还要检查空值
  • 在单元格中打印数据

  • 如何实现这一点?

    要找出dict中哪个值更大,请使用以下代码:

    Swift 3

    let dict1 = [ "Displacement_trim" : "49.26", "Dry_Weight" : "<null>" ]
    let dict2 = [ "Displacement_trim" : "171.20", "Dry_Weight" : "<null>" ]
    
    // I force unwrapped everything for brevity
    if Float(dict1["Displacement_trim"]!)! > Float(dict2["Displacement_trim"]!)! {
        // highlight label for dict1
    } else {
        // highlight label for dict2
    }
    
    let dict1=[“位移微调”:“49.26”,“干重”:“]
    让dict2=[“位移微调”:“171.20”,“干重”:“]
    //为了简洁起见,我把所有东西都拆开了
    如果浮动(dict1[“位移微调”!)!>浮动(dict2[“位移微调”!)!{
    //突出显示dict1的标签
    }否则{
    //突出显示dict2的标签
    }
    
    目标-C

    NSDictionary *dict1 = @{@"Displacement_trim" : @"49.26", @"Dry_Weight" : @"<null>"};
    NSDictionary *dict2 = @{@"Displacement_trim" : @"171.20", @"Dry_Weight" : @"<null>"};
    
    NSString *dict1DisplacementTrim = dict1[@"Displacement_trim"];
    NSString *dict2DisplacementTrim = dict2[@"Displacement_trim"];
    
    if (dict1DisplacementTrim.floatValue > dict2DisplacementTrim.floatValue) {
        // highlight label for dict1
    } else {
        // highlight label for dict2
    }
    
    NSDictionary*dict1={“位移微调”:“49.26”,“干重”:;
    NSDictionary*dict2={“位移”微调:“171.20”,“干重”:;
    NSString*DICT1DISPLACENTTRIM=dict1[@“位移微调”];
    NSString*DICT2DISPLACENTTRIM=dict2[@“位移微调”];
    if(dict1DisplacementTrim.floatValue>dict2DisplacementTrim.floatValue){
    //突出显示dict1的标签
    }否则{
    //突出显示dict2的标签
    }
    
    要找出dict中哪个值更大,请使用以下代码:

    Swift 3

    let dict1 = [ "Displacement_trim" : "49.26", "Dry_Weight" : "<null>" ]
    let dict2 = [ "Displacement_trim" : "171.20", "Dry_Weight" : "<null>" ]
    
    // I force unwrapped everything for brevity
    if Float(dict1["Displacement_trim"]!)! > Float(dict2["Displacement_trim"]!)! {
        // highlight label for dict1
    } else {
        // highlight label for dict2
    }
    
    let dict1=[“位移微调”:“49.26”,“干重”:“]
    让dict2=[“位移微调”:“171.20”,“干重”:“]
    //为了简洁起见,我把所有东西都拆开了
    如果浮动(dict1[“位移微调”!)!>浮动(dict2[“位移微调”!)!{
    //突出显示dict1的标签
    }否则{
    //突出显示dict2的标签
    }
    
    目标-C

    NSDictionary *dict1 = @{@"Displacement_trim" : @"49.26", @"Dry_Weight" : @"<null>"};
    NSDictionary *dict2 = @{@"Displacement_trim" : @"171.20", @"Dry_Weight" : @"<null>"};
    
    NSString *dict1DisplacementTrim = dict1[@"Displacement_trim"];
    NSString *dict2DisplacementTrim = dict2[@"Displacement_trim"];
    
    if (dict1DisplacementTrim.floatValue > dict2DisplacementTrim.floatValue) {
        // highlight label for dict1
    } else {
        // highlight label for dict2
    }
    
    NSDictionary*dict1={“位移微调”:“49.26”,“干重”:;
    NSDictionary*dict2={“位移”微调:“171.20”,“干重”:;
    NSString*DICT1DISPLACENTTRIM=dict1[@“位移微调”];
    NSString*DICT2DISPLACENTTRIM=dict2[@“位移微调”];
    if(dict1DisplacementTrim.floatValue>dict2DisplacementTrim.floatValue){
    //突出显示dict1的标签
    }否则{
    //突出显示dict2的标签
    }
    
    如果有什么不对劲,请告诉我



    如果有任何错误,请告诉我。

    在您提供的情况下,请在比较这两种情况时显示您希望看到的输出dicts@SergheiCatraniuc我在标签中显示数据,其中键值大于我要突出显示的标签。因此,在您提供的示例中,由于Dict2中的位移微调值较大,您将突出显示Dict2的标签,对吗?取出所有位移微调值。使用递减法比较这些值。你会变得更伟大values@NarendraPandey你能给我解释一下吗。我尝试了所有ST答案,但没有得到您提供的答案。在比较这两个答案时,请显示您希望看到的输出dicts@SergheiCatraniuc我在标签中显示数据,其中键值大于我要突出显示的标签。因此,在您提供的示例中,由于Dict2中的位移微调值较大,您将突出显示Dict2的标签,对吗?取出所有位移微调值。使用递减法比较这些值。你会变得更伟大values@NarendraPandey你能给我解释一下吗。我尝试了所有的答案,但我没有得到它的工作很好。我们需要将if([[dict1-valueForKey:@“Displacement\u-trim”]比较:[dict2-valueForKey:@“Displacement\u-trim”]==sensorderedascing)更改为if([[dict1-objectForKey:@“Displacement\u-trim”]比较:[dict2-objectForKey:@“Displacement\u-trim”]]==sensorderedascing)根据您的需要进行更改。可以直接将这些值与out键值“49.26”、“171.20”进行比较。如果我将该dict转换为数组,是否可以?如果没有out valueForKey?工作正常。我们需要将if([[dict1-valueForKey:@“Displacement\u-trim”]比较:[dict2-valueForKey:@“Displacement\u-trim”]==sensorderedascing)更改为if([[dict1-objectForKey:@“Displacement\u-trim”]比较:[dict2-objectForKey:@“Displacement\u-trim”]]==sensorderedascing)根据需要进行更改。可以直接将这些值与输出键值“49.26”、“171.20”进行比较。如果我将dict转换为数组,是否可以?如果没有输出键值,是否可以直接将这些值与输出键值“49.26”、“171.20”进行比较?我们将从dict1和dict1中获得“位移微调”值“49.26”“位移/纵倾“dict2中的值171.20,对吗?在没有位移微调值的情况下,我们可以直接比较这些数字?可能吗?
    dict1DisplacementTrim.floatValue>dict2DisplacementTrim.floatValue
    这正是这样做的。它将这些值从字符串转换为浮点数并进行比较。基本上是这样的
    49.26>171.20
    可以直接将这些值与输出键值“49.26”、“171.20”进行比较,我们从dict1中得到“位移微调”值“49.26”,从dict2中得到“位移微调”值171.20,对吗?在没有位移微调值的情况下,我们可以直接比较这些数字?可能吗?
    dict1DisplacementTrim.floatValue>dict2DisplacementTrim.floatValue
    这正是这样做的。它将这些值从字符串转换为浮点数并进行比较。基本上,这种情况正在发生
    49.26>171.20