Ios NSPredicate获取具有名称和条件的项目

Ios NSPredicate获取具有名称和条件的项目,ios,nspredicate,Ios,Nspredicate,我有一系列自定义对象。自定义对象具有如下属性:名称、时间戳、标题等。。。在此数组中,有多个名称相同但时间戳不同的对象。我需要得到每个名字的最新记录。我想使用NSPredicate,但我不知道如何将搜索姓名与比较时间戳结合起来 首先,您需要使用以下方法筛选所有相同的名称: NSArray *arrName1 = [NSArray ] NSArray *arrData; //This array contains main data NSString *strName1 = @"Amit"; //

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

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

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中时间戳的降序提供数组。现在您需要使用它在主数组中应用

希望这对你有帮助。快乐编码:)