【问题标题】:Runtime error running non-storyboard app运行非故事板应用程序的运行时错误
【发布时间】:2013-01-11 01:50:20
【问题描述】:

我正在编写一个 iOS 应用程序;没有 ARC,也没有故事板。 我在导航控制器中有一个视图控制器。它应该有推到第二个视图的表格视图和导航按钮。 这是我得到的错误:

*** Terminating app due to uncaught exception 'NSInternalInconsistencyException', reason: '-[UIViewController _loadViewFromNibNamed:bundle:] loaded the "ViewController" nib but the view outlet was not set.'
*** First throw call stack:
(0x1c8d012 0x10cae7e 0x1c8cdeb 0xf2f18 0xf3418 0xf3648 0xf3882 0x42a25 0x42dbf 0x42f55 0x4bf67 0x2a88 0xf7b7 0xfda7 0x10fab 0x22315 0x2324b 0x14cf8 0x1be8df9 0x1be8ad0 0x1c02bf5 0x1c02962 0x1c33bb6 0x1c32f44 0x1c32e1b 0x107da 0x1265c 0x2442 0x2375)
libc++abi.dylib: terminate called throwing an exception
(lldb) 

AppDelegate 中的代码:

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
    self.window = [[[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]] autorelease];

    self.viewCon = [[ViewController alloc]initWithNibName:@"ViewController" bundle:nil];
    self.navCon = [[UINavigationController alloc]initWithRootViewController:self.viewCon];
    self.navCon.navigationBar.tintColor= [UIColor greenColor];
    self.viewCon.title= @"First View";

    self.tblView = [[UITableView alloc] init];


    NSMutableArray *viewArr=[[NSMutableArray alloc] init];
    [viewArr addObject:self.navCon];

    self.navBar = [[UINavigationBar alloc] init];

    self.viewCon.navigationItem.leftBarButtonItem = [[UIBarButtonItem alloc] initWithTitle:@"Second View"  style:UIBarButtonSystemItemAdd target:self action:(nil)];


    [self.window addSubview:self.navBar];
    self.window.rootViewController = self.viewCon;
    [self.window makeKeyAndVisible];

    return YES;
}

在这个阶段,我什至无法运行应用程序。可能是什么问题? 最好的问候

【问题讨论】:

    标签: ios objective-c uiviewcontroller uinavigationcontroller xib


    【解决方案1】:

    加载了“ViewController” nib,但未设置视图出口。

    您似乎忘记将视图控制器的view 出口连接到您在 ViewController.xib 文件中的实际视图。

    您的 xib 文件有一个文件的所有者。您可能已将其设置为ViewController(我想它是UIViewController 的子类)。 现在,如果您转到右侧窗格并显示绑定窗格(最后一个,带有一个小箭头),您将看到视图控制器有一个名为 view 的出口:从其上的小圆圈拖动直接进入您在 xib 中创建的视图。

    【讨论】:

    • 我不太清楚你的意思。在 View Controller 设置中,已将 NIB Name 设置为 ViewController 并将 Title 设置为 First View。你的意思是别的吗?
    • 在开始时,一旦选择了对象窗格上的视图控制器,该视图就指向“表视图。我的视图控制器在导航控制器内。并且 View Controller 有一个表格视图。所以我删除了表格视图。现在我无法按照你说的方式连接到我的视图控制器。
    • 我不确定我是否理解......也许你不应该删除表格视图。或者,如果您愿意,可以尝试创建一个新的空视图并像我在回答中所说的那样连接它,看看它是否有效。
    猜你喜欢
    • 2011-03-26
    • 2016-10-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-06-29
    • 2021-12-16
    • 2014-11-27
    • 2014-11-03
    相关资源
    最近更新 更多