代码=exc_i386_invop 子代码=0x0 笔尖 xcode7.2

Posted

技术标签:

【中文标题】代码=exc_i386_invop 子代码=0x0 笔尖 xcode7.2【英文标题】:code=exc_i386_invop subcode=0x0 nib xcode7.2 【发布时间】:2016-02-22 04:12:06 【问题描述】:

我通过 nib 创建了一个自定义单元格并对其应用了一些约束。继续前进,我通过在 finder 中替换它,用一些旧状态的 nib 替换了那个 nib 文件。还删除了所有出口和约束;意味着,现在没有任何限制和出口。 运行代码后,异常和崩溃来了。

code=exc_i386_invop subcode=0x0

之后,我删除了 nib 文件中的所有内容;现在笔尖完全是空的。我仔细检查过,那个笔尖没有任何插座。

我敢肯定,复制和粘贴笔尖时会发生一些事情;现在我必须删除 nib 文件,并创建新的 nib 文件,然后它会再次工作。

如果有人也遇到过此类问题,请告诉我?

【问题讨论】:

您是否在控制台中收到任何警告消息?还要检查您为 nib 文件所有者设置的内容,并添加您用于加载单元格的代码 控制台中没有警告信息。即使我已经删除了旧的 nib 文件并创建了新文件,但仍然崩溃;当您从任何笔尖复制任何内容并将其粘贴到笔尖时出现问题;例如任何 UILabel/Whole nib 项目。 【参考方案1】:

我找到了解决办法;当我将 xib 文件的内容从一个 xib 复制并传递到另一个 xib 时,有可能在下一个 xib 的 .swift 文件中包含复制的 xib 文件中不存在的任何 @IBOutlet;

例如:

@IBOutlet var profilePicture: UIImageView!
@IBOutlet var coverPicture: UIImageView!
@IBOutlet var personName: UILabel!
@IBOutlet var jobTitle: UILabel!
@IBOutlet var currentLocation: UILabel!

所有的出口都是非可选的;因此,如果其中任何一个未在 xib 文件中链接,则在运行时应用程序将崩溃;所以必须仔细检查IBOutlets;因此 .swift 文件中未使用的网点,您需要删除它们或使用“?”将它们设为可选。关键字。

【讨论】:

以上是关于代码=exc_i386_invop 子代码=0x0 笔尖 xcode7.2的主要内容,如果未能解决你的问题,请参考以下文章

例外:使用 C++ 的 EXC_BAD_INSTRUCTION(代码=EXC_I386_INVOP,子代码=0x0)[关闭]

SwiftUI:线程 1:EXC_BAD_INSTRUCTION(代码=EXC_I386_INVOP,子代码=0x0)

EXC_BAD_INSTRUCTION(代码=EXC_I386_INVOP,子代码=0x0)从Bundle加载错误[重复]

SWIFT UI LOTTIE:线程 1:EXC_BAD_INSTRUCTION(代码=EXC_I386_INVOP,子代码=0x0)

JSON NSBundle 错误 - 线程 1:EXC_BAD_INSTRUCTION(代码=EXC_I386_INVOP,子代码=0x0)

带有 NSPersistentCloudKitContainer 崩溃的 Mac 催化剂:EXC_BAD_INSTRUCTION(代码=EXC_I386_INVOP,子代码=0x0)