看起来NSSortDescriptor应该是一个相当容易使用的类。
我在CoreData中存储了一个实体,其中有一个名为@"date"的NSDate类型的属性。 我试图对NSFetchRequest应用排序描述符,但似乎没有返回我所希望的结果。
我希望得到的结果只是按时间顺序排列日期,但实际上它们以它们添加到CoreData的顺序返回。
也许你可以提供一些指导吗?
参数'ascending'是否控制排序?
一些代码:
NSFetchRequest *fetchRequest = [[NSFetchRequest alloc] init];
NSEntityDescription *entityDesc = [NSEntityDescription entityForName:@"Data" inManagedObjectContext:self.managedObjectContext];
[fetchRequest setEntity:entityDesc];
[fetchRequest setFetchBatchSize:10];
NSSortDescriptor *sortDescriptor = [[NSSortDescriptor alloc] initWithKey:@"date" ascending:YES];
NSArray *sortDescriptors = [NSArray arrayWithObjects:sortDescriptor, nil];
[fetchRequest setSortDescriptors:sortDescriptors];
NSArray *fetchedObjects = [self.managedObjectContext executeFetchRequest:fetchRequest error:&error];
sortedArrayUsingSelector:@selector(compare:)
会更简单(得多)。 - Hot Licks