Swift使用storyBoard.instantiateViewController切换页面触发SIGABRT崩溃求助
解决页面跳转时Thread 1: signal SIGABRT崩溃问题
你在尝试实现页面跳转功能时,刚运行项目就遭遇了Thread 1: signal SIGABRT错误,直接导致模拟器崩溃,对应的错误截图如下:

结合iOS开发中这类崩溃的常见原因,给你整理几个优先排查的方向:
1. Storyboard关联类/ID问题
- 检查跳转目标ViewController的类是否正确关联到Storyboard中的对应控制器:选中Storyboard里的目标控制器,在Identity Inspector里确认Class字段和你的代码类名完全一致,注意大小写和拼写,别出现类名写错或者没有关联的情况。
- 确认Storyboard ID设置正确:如果是通过ID初始化控制器跳转,要保证目标控制器的Storyboard ID已经开启(不要勾选"Is Initial View Controller"却没设ID),且代码中使用的ID和Storyboard里的完全匹配。
2. Segue标识符问题
如果你用的是performSegue(withIdentifier:sender:)方法跳转,一定要检查Storyboard中segue的标识符是否和代码里的完全一致,哪怕是一个字母大小写错误,都会触发这个崩溃。
3. 无效的IBOutlet/IBAction关联
有时候删除了代码里的IBOutlet或IBAction,但Storyboard里的关联还存在,这种无效关联会导致运行时崩溃。你可以选中目标控制器,打开Connections Inspector,看看有没有红色的关联项,有的话直接移除即可。
4. 手动初始化控制器的逻辑错误
如果是手动实例化控制器(比如用UIStoryboard的instantiateViewController方法),要确认:
- Storyboard的名称拼写正确,比如你用的是"Main"还是其他自定义名称,别写错。
- 目标控制器确实存在于指定的Storyboard中,且没有被误删。
如果能把你的完整跳转代码贴出来,再补充下Storyboard的相关设置细节,我可以帮你更精准地定位问题哦!
内容的提问来源于stack exchange,提问作者Abar New
相关产品推荐
相关产品推荐

