【发布时间】:2014-01-28 13:58:14
【问题描述】:
我在 CoreData 中有一个名为 TreeNode 的实体。
它有一个属性日期作为字符串类型。
它具有父关系(一对一)和子关系(一对多)。
它有一个名为 rootNodes 的 fetch 方法。
如何在 Core Data 中对子节点进行排序? (排序年月日) 非常感谢。
- (NSArray *)rootNodes {
NSSortDescriptor *sort = [NSSortDescriptor sortDescriptorWithKey:@"date" ascending:YES];
NSPredicate *predicate = [NSPredicate predicateWithFormat:@"parent == nil];
NSFetchRequest *request = [NSFetchRequest fetchRequestWithEntityName:@"TreeNode"];
[request setSortDescriptors:@[sort]];
[request setPredicate:predicate];
NSError *error = nil;
NSArray *objects = [[self managedObjectContext] executeFetchRequest:request error:&error];
if (error)
NSAssert1(error == nil, @"%s Error occurred!", __func__);
return objects;
}
superNode(2013-Year)
|
+--->subNode(09-Month)
|
+--->subNode(01-Month)
| +--->subNode(10-Day)
| +--->subNode(04-Day)
| +--->subNode(03-Day)
|
+--->subNode(06-Month)
| +--->subNode(18-Day)
| +--->subNode(01-Day)
| +--->subNode(22-Day)
| +--->subNode(02-Day)
【问题讨论】:
标签: objective-c core-data