首页 > 解决方案 > 我如何将 NSRangeException 解决为 swift 4?

问题描述

我正在开发使用 swift 4 的应用程序。但是当我想从第一个视图控制器转到第二个视图控制器时,我收到了这个错误

* 由于未捕获的异常“NSRangeException”而终止应用程序,原因:“* -[__NSArrayI objectAtIndex:]: index 18446744073709551615 beyond bounds [0 .. 0]”

我尝试在按钮单击时从第一个视图控制器转到第二个视图控制器,如下所示

let vc = storyBoard.instantiateViewControllerWithIdentifier("nextView") as NextViewController
self.presentViewController(vc, animated:true, completion:nil)

但是当我单击按钮时,我的应用程序崩溃并超出 nsrangeexception 错误

那么如何解决这个错误,从第一个 vc 到第二个 vc 的任何其他解决方案?

标签: iosswiftswift4xcode9.2nsrangeexception

解决方案


如果您想使用 Identifier 在 StoryBoard 上的 Controller 中导航"nextView",请执行此操作(这将适用于您尝试将一个情节提要显示ViewController到另一个情节提要时ViewController):

   let storyBoard : UIStoryboard = UIStoryboard(name: "Main", bundle:nil)
   let vc = storyBoard.instantiateViewController(withIdentifier: "nextView") as! NextViewController
   self.present(vc, animated:true, completion:nil)

或者,如果您在同一个故事板中,那么您可以简单地执行此操作 - 在firstVCctrl+ dragsecondVC. 然后点击segue。(两个视图控制器之间的圆形物体)。-

在此处输入图像描述

并为此设置一个标识符(这about是标识符,您可以为此命名)-

在此处输入图像描述

这是代码 -

@IBAction func UserDetailVC(sender: AnyObject) {
        self.performSegue(withIdentifier: "segueIdentifierName(about)", sender: sender)
    }

推荐阅读