【问题标题】:iOS Help: loaded the nib but the view outlet was not setiOS 帮助:已加载 nib 但未设置视图出口
【发布时间】:2012-07-23 13:49:48
【问题描述】:

我有一个名为 TaskListViewController 的类,我要去 ShowTaskViewController。在 ShowTaskViewController 的开始,我没有视图对象,我只有一个 TableView 对象,我在其中动态加载数据库中的数据,它工作正常。

现在我删除了 ShowTaskViewController 类中的 TableView 对象,我在 .xib 文件中拖放了一个 View 对象,还在其顶部拖放了一个 TableView 对象,因为我想在该类中添加一些额外的按钮,但是现在它向我显示了这个错误:由于未捕获的异常'NSInternalInconsistencyException'而终止应用程序,原因:'-[UIViewController _loadViewFromNibNamed:bundle:] 加载了“ShowTaskViewController”笔尖,但未设置视图出口。'

这也是我之前在 ShowTaskViewController 类运行良好时使用的代码,现在请帮助我进行更改,以便 TableView 对象正确加载数据。

-(IBAction)showAllTasks:(id)sender
{
    ShowTaskViewController *showTaskViewController = [[ShowTaskViewController alloc] initWithNibName:@"ShowTaskViewController" bundle:nil];

    [self presentModalViewController:showTaskViewController animated:YES];
}

【问题讨论】:

标签: iphone objective-c ios ios5 ios4


【解决方案1】:

这是因为在你的 xib 中你没有设置你的视图出口。

打开你的xib文件选择File Owner右键单击它并将你的视图出口映射到你在xib中的UIView。

更多详情请查看以下链接:

Loaded nib but the view outlet was not set - new to InterfaceBuilder

Error in Xcode "the view outlet was not set.'"

希望这会有所帮助:)

【讨论】:

    【解决方案2】:

    首先为您的新 tableView 声明出口(Ctrl + 从 xib 拖动到接口文件) 然后做这样的事情:

    self.view=myTableView;
    

    【讨论】:

    • 我只是尝试这样做,但它仍然显示相同的错误。我做错了什么吗?请帮忙!
    • @Shahnawaz 它必须工作,如果这是你的第一个视图控制器,你也必须检查 AppDelegate,因为你也需要重命名那里提到的 xib 文件
    • 顺便说一句,您已删除 xib 文件并仍在尝试推送它,请使用 ShowTaskViewController 重命名新添加的 xib
    • 哦,不,这是我的第五个视图控制器类,第一次我创建了一个作为 UITableViewController 子类的类,然后它只有 .xib 文件中的 UITableView。然后我将其更改为 UIViewController 的子类并实现接口:(我忘记了确切的名称,但它是该区域的)。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-06-07
    • 2014-11-22
    • 1970-01-01
    • 2018-09-03
    • 1970-01-01
    • 2019-06-09
    相关资源
    最近更新 更多