Swift错误:信号SIGABRT如何解决它

我只是Swift编码的初学者。 我的想法很简单,这是一个带有两个按钮的应用程序。 单击时,文本字段将更改其文本。 在Main.StoryBoard中,我添加了一个文本字段和两个按钮。 在ViewController.swift文件中。 我这样写:

import UIKit class ViewController: UIViewController { @IBOutlet weak var textfield: UITextField! @IBOutlet weak var button: UIButton! @IBOutlet weak var button2: UIButton! @IBAction func action1(_ sender: UIButton) { textfield.text="you just clicked on button1" } @IBAction func action2(_ sender: UIButton) { textfield.text="you just clicked on button2" } } 

它本来应该是好的。 但是,出现错误,显示:

thread1:信号SIGABRT

在文件AppDelegate.swift行:

 class AppDelegate: UIResponder, UIApplicationDelegate 

我的代码出了什么问题?

我通过清理项目并重建来解决问题。

要清理项目,请转到MenuBar:Product – > Clean

然后重建只需像往常一样单击运行按钮

每当断开sockets时,都会收到SIGABRT错误。 单击故事板中的视图控制器,然后转到侧面板中的连接(箭头符号)。 看看你是否有一个额外的sockets,一个副本,或一个没有连接的额外sockets。 如果不是那样,那么您可能没有正确地将您的sockets连接到您的代码。

请记住,当您尝试调用不存在的sockets(按钮,视图,文本字段等)时,会发生SIGABRT。

对我来说,这不是一个出路。 我通过转错来解决问题并阅读它所说的内容。 (也是Noob ..)

这是错误:

在此处输入图像描述

解决方案在这里: 在此处输入图像描述

只需在输出中向上滚动,就会显示错误。

此类错误的一个常见原因是您可能更改了IBOutlet或IBAction的名称,您可以通过转到源代码来检查它。

单击main.storyboard ,然后选择打开 ,然后选择源代码 在此处输入图像描述

源代码将打开

然后检查是否有您已更改的iboutlet或ibaction的名称,如果有,则选择该部件并将其删除,然后再次创建iboutlet或ibaction。 这应该可以解决您的问题

我有同样的问题。 我在故事板中创建了一个按钮并将其连接到ViewController,然后删除了按钮。 所以连接仍然存在,但按钮不是,所以我得到了和你一样的错误。

修理:

转到连接检查器(右上角的箭头,在故事板中) ,然后删除所有未使用的连接。

在我的情况下,没有任何日志。

我的错误是将视图控制器推送到导航堆栈中,该导航堆栈已经是导航堆栈的一部分。

在我的情况下,我没有得到错误只是在AppDelegate崩溃,我不得不取消选中下一个选项: OS_ACTIVITY_MODE然后我可以在我的.xib文件中获得真正的崩溃原因

在此处输入图像描述

希望这也可以帮助你:)