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

chu*_*lai 40 ios swift

我只是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"
    }
}
Run Code Online (Sandbox Code Playgroud)

它应该是好的.但是,出现错误,显示:

thread1:信号SIGABRT

在文件AppDelegate.swift行:

class AppDelegate: UIResponder, UIApplicationDelegate
Run Code Online (Sandbox Code Playgroud)

我的代码出了什么问题?

And*_*itz 70

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

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


Mar*_*lim 31

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

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

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


dan*_*alg 29

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

这是错误:

在此输入图像描述

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

只需向上滚动输出,就会显示错误.


小智 9

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

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

源代码将打开

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


Bij*_*ari 6

我有同样的问题。我在情节提要中创建了一个按钮,并将其连接到ViewController,然后稍后删除了该按钮。因此连接仍然存在,但是按钮没有,所以我遇到了与您相同的错误。

修理:

转到连接检查器(情节提要中右上角的箭头),然后删除所有未使用的连接。


GOr*_*o58 6

就我而言,我并没有因为AppDelegate中的崩溃而报错,我不得不取消选中下一个选项:OS_ACTIVITY_MODE然后我可以在.xib文件中获取真正的崩溃原因。

在此处输入图片说明

希望这也可以对您有所帮助:)


Jon*_*gel 5

如果您在 Xcode 10 中遇到此问题,则必须在构建前进行清理。或者,切换到旧版构建系统。文件 -> 工作区设置... -> 构建系统:传统构建系统。