我的应用程序适用于iOS 5.1,但对于iOS 6模拟器,我收到以下错误.
由于未捕获的异常'NSInternalInconsistencyException'终止应用程序,原因:' - [UITableViewController loadView]加载了"MainListViewController"笔尖,但没有得到UITableView.
我是子类UITableViewController,我不想改变它.
tableview是以编程方式创建的,有一个虚拟MainListViewController.xib加载来自Mainwindow.xibTab Bar Controller.
我也尝试删除MainListViewController.xib,从MainWindow.xibTab Bar Controller中删除它,MainListViewController在AppDelegate中创建它并将其添加到Tab Bar Controller UITabBarItem以摆脱这个nib问题,但我仍然得到同样的错误.
mat*_*way 98
如果你有UITableViewController子类的NIB,那么它的view出口必须连接到a UITableView.
你是正确的删除MainListViewController.xib并在代码中完成所有操作,但它不适合你的原因是因为在构建和运行时不会删除旧的XIB.因此,从模拟器中删除应用程序,然后重试.它应该工作.
smi*_*Bot 28
我使用故事板时遇到了类似的问题.为了别人的利益,我会发布我的解决方案.关键是如果您已将文件的所有者正确设置为UITableView的子类,则仍需确保将view属性设置为Table View.我正在使用故事板,但同样的东西也应该适用于笔尖.展开"文档大纲",以便查看故事板的层次结构.我将在下面添加一些屏幕截图.解决这个问题的快捷方法是,您希望在文档大纲中查看您的视图.删除您作为孩子的任何tableview.将另一个tableview拖动到view属性的顶部.完成.我会在屏幕截图中向您展示.

注意这两个表.您想要删除table1及其单元格.

好.现在将table2拖到视图中,您就完成了.应该现在就行.基本上,如果你有一个UITableViewController的子类,那么它必须有Table View代替视图,否则它将崩溃.

小智 12
如果您使用UITableView作为顶视图.
像这样 :
您需要在Controller中使用UITableViewController
class ItemsViewController: UITableViewController
Run Code Online (Sandbox Code Playgroud)
如果您在Storyboat中的View下使用UITableView.
像这样 :
您需要将UITableViewDelegate和UITableViewDataSource与UIViewController一起使用
class ItemsViewController: UIViewController, UITableViewDelegate, UITableViewDataSource
Run Code Online (Sandbox Code Playgroud)
oab*_*rca 11
简而言之,您将自定义UITableViewController子类设置为UIViewController !! 你不能做这个.您应该为UIViewController提供一个UIViewController子类.
| 归档时间: |
|
| 查看次数: |
56045 次 |
| 最近记录: |