在我的应用我在core data
一些记录,我想取最后20条记录升序排列,即如果有30条记录,比我想按升序从11条记录取30 -核心数据以升序获取最后20条记录?
NSFetchRequest *fetchRequest = [[NSFetchRequest alloc] init];
NSEntityDescription *entity = [NSEntityDescription
entityForName:@"Messages" inManagedObjectContext:self.managedObjectContext];
[fetchRequest setEntity:entity];
[fetchRequest setFetchLimit:20];
NSSortDescriptor *sort = [[NSSortDescriptor alloc]
initWithKey:@"messageId" ascending:YES];
[fetchRequest setSortDescriptors:[NSArray arrayWithObject:sort]];
NSPredicate *predicate = [NSPredicate predicateWithFormat: @"((userId == %@) && (frndId == %@))",uid, fid];
[fetchRequest setPredicate:predicate];
NSError *error;
NSArray* dataArray = [[managedObjectContext executeFetchRequest:fetchRequest error:&error] mutableCopy];
for (Messages* msg in dataArray) {
//code here
}
但它给了我第一个20条记录按升序排列,如果我改变
NSSortDescriptor *sort = [[NSSortDescriptor alloc]
initWithKey:@"messageId" ascending:NO];
然后我得到了近20条记录,但是那是在升序?任何建议,将不胜感激。
,将大型数据表现不佳集AFAICS –