我有自定义对象的NSArray。自定义对象具有以下属性:名称,时间戳,标题等...在此数组中,有多个具有相同名称但具有不同时间戳的对象。我需要为每个名字获取最新记录。我想使用NSPredicate,但我不知道如何将搜索名称与时间戳的比较结合起来......
答案 0 :(得分:2)
首先,您需要使用以下方法过滤所有相同的名称:
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中的时间戳的降序为您提供数组。现在您需要使用它来应用主阵列。
希望这会对你有所帮助。快乐的编码:)