如何将NSRangeException解决为swift 4?

时间:2018-04-29 05:20:26

标签: ios swift swift4 xcode9.2 nsrangeexception

我正在使用swift 4的应用程序。但是当我想从第一个viewcontroller转到第二个viewcontroller时我得到了这个错误

*由于未捕获的异常终止应用' NSRangeException',原因:' * - [__ NSArrayI objectAtIndex:]:索引18446744073709551615超出边界[0 .. 0]'

我尝试使用像bellow

一样,在按钮点击时从第一个viewcontroller转到第二个viewcontroller
let vc = storyBoard.instantiateViewControllerWithIdentifier("nextView") as NextViewController
self.presentViewController(vc, animated:true, completion:nil)

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

那么如何从第一个vc到第二个vc解决这个错误呢?

2 个答案:

答案 0 :(得分:0)

首先检查您的NextViewController是否有故事板中的故事板ID:

enter image description here

并检查您是否正确加载了故事板:

let storyboard = UIStoryboard(name: "Main", bundle: Bundle.main)

答案 1 :(得分:0)

如果您想使用标识符"nextView"在StoryBoard上导航,请执行此操作(当您尝试将一个故事板ViewController显示到另一个故事板{{1}时,这将适用}}):

ViewController

OR 如果你在同一个故事板上,那么你可以简单地做到这一点 - 在 let storyBoard : UIStoryboard = UIStoryboard(name: "Main", bundle:nil) let vc = storyBoard.instantiateViewController(withIdentifier: "nextView") as! NextViewController self.present(vc, animated:true, completion:nil) firstVC中选择一个按钮,直至ctrl+ drag。然后点击segue。 (两个视图控制器之间的圆形物)。 -

enter image description here

并为其设置标识符(此处secondVC是标识符,您可以为此指定任何名称) -

enter image description here

这是代码 -

about