【问题标题】:NSPredicate get item with name and conditionNSPredicate 获取带有名称和条件的项目
【发布时间】:2014-07-28 15:01:34
【问题描述】:

我有自定义对象的 NSArray。自定义对象具有如下属性:名称、时间戳、标题等...在此数组中,有多个对象具有相同的名称但具有不同的时间戳。我需要为每个名字获取最近的记录。我想使用NSPredicate,但我不知道如何将名称搜索与时间戳比较结合起来......

【问题讨论】:

    标签: ios nspredicate


    【解决方案1】:

    首先,您需要使用以下方法过滤所有相同的名称:

    NSArray *arrName1 = [NSArray ]
    
    NSArray *arrData; //This array contains main data
    NSString *strName1 = @"Amit"; //Taken Amit name for sample
    
    //This will give you array with same name
    NSArray *arrName1 = [arrData filteredArrayUsingPredicate:[NSPredicate predicateWithFormat:@" name == %@",strName1]];
    
    //Now you can sort this array using NSSortDescriptor based on timestamp
    NSSortDescriptor * sortByTimeStamp = [NSSortDescriptor sortDescriptorWithKey:@"timestamp" ascending:NO];
    [scores sortUsingDescriptors:[NSArray arrayWithObject:sortByTimeStamp]];
    

    这将为您提供按 arrName1 中时间戳降序排列的数组。现在你需要使用它来应用在主数组中。

    希望这会对您有所帮助。快乐编码:)

    【讨论】:

      猜你喜欢
      • 2021-10-18
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-05-19
      相关资源
      最近更新 更多