SwiftUI:线程 1:EXC_BAD_INSTRUCTION(代码=EXC_I386_INVOP,子代码=0x0)
SwiftUI :Thread 1: EXC_BAD_INSTRUCTION (code=EXC_I386_INVOP, subcode=0x0)
我是 SwiftUI 的新手,目前正在开发我的第一个大型 application.The 程序,它在模拟器中成功运行,但是模拟器屏幕全是白色,我收到错误消息:
线程 1:EXC_BAD_INSTRUCTION(代码=EXC_I386_INVOP,子代码=0x0)
在 AppDelegate 中(我没有做任何更改)
该应用程序已经包含多个文件,但是无论我检查多少次,我都找不到我的代码中的任何问题。我应该寻找什么类型的错误?
在 Swift 代码的上下文中,
EXC_BAD_INSTRUCTION
通常意味着您遇到了编译器陷阱,也就是说,由于在运行时检测到错误,编译器将未定义的指令插入到代码中。这些最常见的原因是:
无法展开可选的 —
- 这可以是强制解包 (!) 或隐式解包(访问隐式解包的可选值 nil)。
- 数组越界
- 强制转换失败(as!),要么是因为该值是一个 nil 可选值,要么是因为该值的类型错误
您可以通过创建异常断点来调试此问题。顾名思义,这会在抛出此异常的行执行之前停止代码执行。
要在 Xcode 中创建异常断点,转到 BreakPoint 导航器 -> 单击左下角的 + 图标 -> Select 异常断点。
有关断点的更多信息,请查看此 link
我是 SwiftUI 的新手,目前正在开发我的第一个大型 application.The 程序,它在模拟器中成功运行,但是模拟器屏幕全是白色,我收到错误消息:
线程 1:EXC_BAD_INSTRUCTION(代码=EXC_I386_INVOP,子代码=0x0)
在 AppDelegate 中(我没有做任何更改) 该应用程序已经包含多个文件,但是无论我检查多少次,我都找不到我的代码中的任何问题。我应该寻找什么类型的错误?
在 Swift 代码的上下文中,
EXC_BAD_INSTRUCTION
通常意味着您遇到了编译器陷阱,也就是说,由于在运行时检测到错误,编译器将未定义的指令插入到代码中。这些最常见的原因是: 无法展开可选的 —
- 这可以是强制解包 (!) 或隐式解包(访问隐式解包的可选值 nil)。
- 数组越界
- 强制转换失败(as!),要么是因为该值是一个 nil 可选值,要么是因为该值的类型错误
您可以通过创建异常断点来调试此问题。顾名思义,这会在抛出此异常的行执行之前停止代码执行。
要在 Xcode 中创建异常断点,转到 BreakPoint 导航器 -> 单击左下角的 + 图标 -> Select 异常断点。
有关断点的更多信息,请查看此 link