在这个例子中,假设我有一个按钮,每次按下它都会添加一个NSDate
到核心数据实体中。我也有一个TableView
显示该实体的所有成员。
我该如何排序TableView
by NSDate
?出来的格式如下:2011-08-09 21:52:13 +0000
我想在顶部对最新的进行排序TableView
.
提前致谢。
如果您使用 NSFetchedResultsController(如果您将 Core Data 与 UITableViewController 一起使用,则应该如此),那么基本上已经为您提供了执行此操作的代码。假设您将默认的 Core Data 模板与 UITableViewController 一起使用,则应该为您提供一个fetchedResultsController
方法。要更改表对其项目进行排序的方法,只需使用以下命令:
- (NSFetchedResultsController *)fetchedResultsController
{
...
// Edit the sort key as appropriate.
NSSortDescriptor *sortDescriptor = [[NSSortDescriptor alloc] initWithKey:@"Date" ascending:NO];
NSArray *sortDescriptors = [[NSArray alloc] initWithObjects:sortDescriptor, nil];
...
}
Where @"Date"
应替换为您命名的存储日期的核心数据条目的名称。如果您使用 NSFetchedResultsController,这应该完全按照您想要的方式排序,并且是“适当”的方法。但是,如果您不是,则必须使用timeIntervalSinceReferenceDate
正如塔西纳里所说,对每个 NSDate 进行比较和排序。不过,我建议您使用 NSFetchedResultsController 。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)