【问题标题】:Subclassing a UITableViewController without nib or storyboard?子类化没有 nib 或情节提要的 UITableViewController?
【发布时间】:2014-01-07 22:04:17
【问题描述】:

我正在尝试仅使用没有 nib 或情节提要的代码来继承 UITableViewController。加载其视图后,我收到此错误:

'NSInternalInconsistencyException', reason: '-[UITableViewController loadView] loaded the "BYZ-38-tfr-view-1bC-Xs-vdC" nib but didn't get a UITableView.'

我尝试在:loadView 中使用新的表格视图设置self.tableView,但这并没有解决它,也没有在任何初始化程序中设置它。有什么解决办法吗?

编辑:该类是从“新文件”菜单生成的 UITableViewController 的普通子类。未进行任何自定义。

注意项目本身有一个故事板可能会有所帮助,我通过将应用程序的起始视图控制器设置为子类来加载 UITableViewController 子类。

通过在 Xcode 中创建一个新的单视图模板项目,生成一个普通的 UITableViewController 子类,并将故事板中唯一的视图控制器设置为 UITableViewController 子类类型,该错误很容易重现。

编辑 2:问题已解决,检查 cmets。

【问题讨论】:

  • 似乎仍在尝试从笔尖加载。向我们展示你是如何对它进行子类化的?
  • 您是否覆盖了loadView?你能显示loadView 代码吗?
  • 是的,我覆盖了loadView。我实际上只是添加了self.tableView = [[UITableView alloc]init];,然后添加了[super loadView]。至于子类,我没有以任何方式定制它。我刚刚从新文件菜单中将它创建为 UITableViewController 的子类。

标签: ios uikit uitableview subclass


【解决方案1】:

我通过避免任何情节提要来修复它。最初我通过项目主情节提要加载它。相反,我现在将子类实例加载到单独的视图控制器中,从而避免错误。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2012-07-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多