在CoreData中对数据条目进行排序

时间:2013-10-24 14:27:09

标签: ios core-data

当我使用CoreData数据库时,我意识到数据不是按顺序存储的。例如,如果我存储“项目1”,“项目2”,“项目3”,“项目4”,然后在视图控制器中取回它们,我得到的顺序是2, 3, 4, 1。事实证明这很烦人,因为这些数据的显示混乱了。如何对数据进行排序以使它们按顺序排列?

2 个答案:

答案 0 :(得分:0)

答案 1 :(得分:0)

以下是使用NSSortDescriptor进行提取的示例。

 NSFetchRequest *fetchRequest = [[NSFetchRequest alloc] init];
 NSManagedObjectContext *context = [(AppDelegate *)[[UIApplication sharedApplication] delegate] managedObjectContext];
 NSEntityDescription *entity = [NSEntityDescription entityForName:@"CaseType" inManagedObjectContext:context];
 [fetchRequest setEntity:entity];

 NSSortDescriptor *sortDesc = [NSSortDescriptor sortDescriptorWithKey:@"caseType" ascending:YES];
 [fetchRequest setSortDescriptors:[NSArray arrayWithObject:sortDesc]];

 NSPredicate *activePred = [NSPredicate predicateWithFormat:@"active == 1"];
 [fetchRequest activePred];

 NSError *error;
 NSArray *items = [context executeFetchRequest:fetchRequest error:&error];