FetchedResultsController 2.0.7

FetchedResultsController 2.0.7

测试已测试
Lang语言 SwiftSwift
许可证 MIT
已发布上次发布2016年4月
SPM支持SPM

William Boles维护。



  • William Boles

一个抽象化UITableView样板代码的FetchedResultsController实现

使用方法

FetchedResultsController是一系列NSFetchedResultsController的子类,它们遵守自己的NSFetchedResultsControllerDelegate代理,并实现了这些方法来处理最常见的情况。由于这种实现使用了它自己的代理,我们不得不引入一组不同的代理回调: FRCTableViewFetchedResultsControllerDataDelegate

配置

TableView
- (FRCTableViewFetchedResultsController *)fetchedResultsController
{
    if (!_fetchedResultsController)
    {
        _fetchedResultsController = [[FRCTableViewFetchedResultsController alloc] initWithFetchRequest:self.fetchRequest
                                                                                  managedObjectContext:[CDSServiceManager sharedInstance].managedObjectContext
                                                                                    sectionNameKeyPath:nil
                                                                                             cacheName:nil];

        _fetchedResultsController.tableView = self.tableView;

        [_fetchedResultsController performFetch:nil];
    }

    return _fetchedResultsController;
}
混合不同数据源

有时候您想在同一个UITableView내에FRC(Fetch Results Controller)和另一个数据源内的数据混合,以支持这一点,FetchedResultsController有一个sectionOffset属性,允许您在视图中插入多个非FRC的段落。请注意,这仅在位于(索引较低)FRC部分之前的段落中起作用。

_fetchedResultsController.sectionOffset = 2;

在上面的示例中,我们在FRC部分之前添加了两个段落。

FetchedResultsController附带一个示例项目,以提供比上述信息更多的详细信息。

FetchedResultsController使用模块来导入/使用框架 - 您需要在项目中启用此功能。

遇到问题吗?

如果您遇到特定于FetchedResultsController的问题,或有一个功能请求,或者想要分享评论,请在此处新建一个Issue。请注意,有关FetchedResultsController/Core Data的一般问题应在Stack Overflow上提问。

欢迎提交pull requests!请尽量与现有的代码风格保持一致。如果您正在考虑对项目进行重大更改或添加,请提前通过打开新的Issue进行沟通。这样可以使每个人都参与即将到来的更改,确保更改与项目的设计理念一致,并避免重复工作。