基于 NSFetchedResultsController 的 UITableViewController 数据源。
NSFetchRequest * fetchRequest = [NSFetchRequest fetchRequestWithEntityName:@"Contact"];
// Configure the request's entity, and optionally its predicate.
NSSortDescriptor * sortByFirstLetter = [[NSSortDescriptor alloc] initWithKey:@"firstLetter"
ascending:YES
selector:@selector(localizedCaseInsensitiveCompare:)];
NSSortDescriptor * sortByName = [[NSSortDescriptor alloc] initWithKey:@"name" ascending:YES];
[fetchRequest setSortDescriptors:@[sortByFirstLetter, sortByName]];
NSFetchedResultsController * controller = <#Fetched results controller#>
RITableDataSource * dataSource = [RITableDataSource dataSourceWithFetchedResultsController:controller];
[dataSource setReusableIdentifierBlock:^NSString *(NSIndexPath * indexPath) {
return <#Cell reusable identifier#>;
}];
[dataSource setConfigureCellBlock:^(UITableViewCell * cell, NSIndexPath * indexPath, id object) {
// Configurate cell here
}];
dataSource.tableView = self.tableView;
RITableDataSource 需要 Xcode 4.4 和 iOS 5.0 SDK。
CocoaPods 是推荐将 RITableDataSource 添加到项目的工具。
下面是一个示例 podfile,用于安装 RITableDataSource。
platform :ios, '5.0'
pod 'RITableDataSource'
RITableDataSource 在 MIT 许可证下可用。有关更多信息,请参阅 LICENSE 文件。