打开新视图iOS应用程序

问题描述:

我知道这绝对是重复的,但没有为我工作。现在这是一个非常简单的任务,但我无法弄清楚。我所要做的就是在按钮按下时打开一个新的视图。当我点击按钮崩溃打开新视图iOS应用程序

ViewController.m

- (IBAction)buttonTapped:(id)sender { 
    UIViewController *WebViewController = [[UIViewController alloc]initWithNibName:@"WebViewController" bundle:nil]; 

    [self presentViewController:WebViewController animated:YES completion: nil]; 
} 

错误

Terminating app due to uncaught exception 'NSUnknownKeyException', reason: '[<UIViewController 0x9829be0> setValue:forUndefinedKey:]: this class is not key value coding-compliant for the key webView.' 
+0

您的控制器(ViewController)需要嵌入到导航控制器中。 – rdelmar

+0

@rdelmar:人们会怎么想,找不到任何好的资源。 – user1658819

+0

-1(“这个问题没有显示任何研究工作”)为“找不到任何好资源”;网络充满了丰富的资源,您的本地或网上书店也是如此。另外对于“崩溃”而不提供崩溃日志或错误消息。 – Caleb

你还没有给我们很多东西,但一个有教养的猜测是,你已经指定了一些UIViewController子类作为你的.xib文件中文件所有者代理的类,并且你已经连接了一个或文件所有者中出口的.xib中的更多对象。然而,在你的代码中,你正在实例化UIViewController而不是你的子类。 UIViewController没有与你的子类相同的一组插座,所以当.xib加载机制试图将对象从.xib连接到你的视图控制器时,它会抛出一个异常,因为UIViewController对于一个密钥不是KVC兼容的名称作为您的店铺之一)或缺少选择器。

一个很好的开始是在运行程序时在Xcode的控制台中查找。如果您的应用崩溃,您应该在那里看到一条错误消息。

您还应该在Xcode的Breakpoints Navigator中使用add a breakpoint for All Exceptions,以便在抛出异常时中断。

您可以从Xcode的Organizer window中的设备中获取崩溃日志,这些通常会为您提供堆栈跟踪,以及您的应用崩溃的原因。

是您buttonTapped方法实际上迷上了你想点击该按钮?

self.navigationControllernil,还是不是?

以上是两种可能性。你可以使用像NSLog()这样的东西来回答这两个问题。

+0

我的buttonTapped方法被连接起来,用NSLog()确认。登录self.navigationController不会产生任何输出。 – user1658819