Fetchable 0.9.4

Fetchable 0.9.4

测试已测试
Lang语言 Obj-CObjective C
许可证 MIT
发布最后发布2014年12月

Ben ChatelainBen Chatelain维护。



Fetchable 0.9.4

这是一个小的Pod,为NSFetchedResultsControllerDelegate协议提供了一个默认实现。还有一个针对UITableViewController和一个针对UICollectionViewController的实现。与重新加载整个表相比,FRC代理实现可以更有效地更新这些"列表项"视图。

此Pod实际上消除了连接NSFetchedResultsController并将更新传入上述之一视图控制器的样板代码。它更进一步地将DataSource协议实现提取到单独的类中,以更容易地通过提供自己的实现来定制它们。

使用

要运行示例项目,请克隆仓库,并首先从示例目录运行pod install

pod try Fetchable是一种简短的方式来做这件事,但它仍然不会为您运行pod install

要求

  • iOS >= 6.0

安装

步骤1

步骤2

创建一个新的Cocoa Touch类,它可以扩展FBLFetchedResultsTableViewControllerFBLFetchedResultsCollectionViewController

步骤3

在你的-viewDidLoad方法中,放一些如下的代码

#pragma mark - UIViewController

- (void)viewDidLoad
{
    [super viewDidLoad];
    FBLConfigureCellBlock configureCell = ^(UICollectionViewCell *collectionCell, id item) {
        YourCustomCollectionViewCell *cell = (YourCustomCollectionViewCell *)collectionCell;
        [cell prepareForReuse];
        ModelClass *modelInstance = (ModelClass *)item;

        cell.textLabel.text = repo.name;
    };

    NSFetchedResultsController *frc = [ModelClass MR_fetchAllSortedBy:@"name" ascending:YES
                                                        withPredicate:nil
                                                              groupBy:nil delegate:self];

    self.dataSource = [[FBLFetchedResultsCollectionViewDataSource alloc] initWithFetchedResultsController:frc
                                                                                           cellIdentifier:@"CellReuseIdentifier"
                                                                                       configureCellBlock:configureCell];
}

该代码1.创建一个FBLConfigureCellBlock,它将与您所用的模型类的实例一起工作。2.使用MagicalRecord隐藏CoreData样板代码,配置一个NSFetchedResultsController来从上下文中检索所有ModelClass对象,并按name属性排序。3.建立并保留一个FBLFetchedResults*DataSource,它将使用前面的两个对象和一个固定的单元格重用标识符。

已知问题

单个单元格标识符

目前只支持一个单元格标识符。如果能根据属性从模型来更改单元格标识符将更理想。如果您在我之前达到这个目标,请给我发送一个pull request!

FRC 雷达

NSFetchedResultsController 在添加关联关系时不会更新

作者

Ben Chatelain,[email protected] @phatblat

许可证

Fetchable 可在 MIT 许可证下使用。详见 LICENSE 文件了解更多信息。