0

这是我在项目中使用的 RESideMenu 的链接

简而言之,当我将 UITableView 设置为根视图控制器并启动它时,它工作得很好。我所有的自定义 UITableViewCells 都在那里并且看起来很棒。问题是,每当我尝试从 RESideMenu 启动 UITableView 时。当我这样做时,我收到此错误:

2013-07-06 11:49:07.844 halocustoms[4438:c07] *** Assertion failure in -[UITableView dequeueReusableCellWithIdentifier:forIndexPath:], 
/SourceCache/UIKit_Sim/UIKit-2380.17/UITableView.m:4460 2013-07-06 11:49:07.845 projectcf32[4438:c07] 
*** Terminating app due to uncaught exception 'NSInternalInconsistencyException', reason: 'unable to dequeue a cell with identifier CustomCell -
must register a nib or a class for the identifier or connect a prototype cell in a storyboard'

我在我的 Storyboard 上检查了我的重用标识符大约一百次,它必须工作,因为当应用程序最初启动时一切都很好。只是在从 RESideMenu 中选择 UITableViewController 时。

注意,这是 RESideMenu 显示视图控制器的方式:

RESideMenuItem *homeItem = [[RESideMenuItem alloc] initWithTitle:@"Quick Games" action:^(RESideMenu *menu, RESideMenuItem *item) {
        [menu hide];

        MyTableView *viewController = [[MyTableView alloc] init];
        viewController.title = item.title;
        UINavigationController *navigationController = [[UINavigationController alloc] initWithRootViewController:viewController];
        [menu setRootViewController:navigationController];
    }];

非常感谢!

4

1 回答 1

0
MyTableView *viewController = [[MyTableView alloc] init];

应该:

MyTableView *viewController = (MyTableView *)[self.storyboard instantiateViewControllerWithIdentifier: @"yourIdentifier"];
于 2013-07-06T16:20:43.860 回答