从框架加载自定义单元 xib

Load a custom cell xib from a framework

我正在开发一个 cocoa 框架,为托管应用程序提供一个 UINavigationController 和一个带有自定义单元格的 UITableViewController。

我设法将带有 UIViewControllers 的 UINavigationController 作为根视图传递给托管应用程序,在导航控制器的 didLoad 中使用:

NSBundle* frameworkBundle = [NSBundle bundleForClass:[self class]];
ContactsListVC *v = [[ContactsListVC alloc]
                 initWithNibName:@"ContactsListVC"
                 bundle:frameworkBundle];

[self addChildViewController: v];

但我不知道如何将自定义单元格加载到表格视图中,给我一个错误:'unable to dequeue a cell with identifier ContactCell - must register a nib or a class for the identifier or connect a prototype cell in a storyboard'。

我做到了。

在 UITableViewController 的 .m 中

-(void)viewDidLoad {
    [super viewDidLoad];
    NSBundle *frameworkBundle = [NSBundle bundleForClass:[self class]];
    UINib *nib = [UINib nibWithNibName:CONTACTCELL bundle:frameworkBundle];
    [[self tableView] registerNib:nib forCellReuseIdentifier:CONTACTCELL];
    }


-(UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {

    ContactCell *cell = [tableView dequeueReusableCellWithIdentifier:CONTACTCELL forIndexPath:indexPath];
    //other stuff....
    return cell;
    }