我只是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.
小智 9
此类错误的一个常见原因是您可能更改了IBOutlet或IBAction的名称,您可以通过转到源代码来检查它.
单击main.storyboard,然后选择打开为
,然后选择源代码

源代码将打开
然后检查是否有您已更改的iboutlet或ibaction的名称,如果有,则选择该部件并将其删除,然后再次创建iboutlet或ibaction.这应该可以解决您的问题
我有同样的问题。我在情节提要中创建了一个按钮,并将其连接到ViewController,然后稍后删除了该按钮。因此连接仍然存在,但是按钮没有,所以我遇到了与您相同的错误。
修理:
转到连接检查器(情节提要中右上角的箭头),然后删除所有未使用的连接。
就我而言,我并没有因为AppDelegate中的崩溃而报错,我不得不取消选中下一个选项:OS_ACTIVITY_MODE然后我可以在.xib文件中获取真正的崩溃原因。
希望这也可以对您有所帮助:)
| 归档时间: |
|
| 查看次数: |
110617 次 |
| 最近记录: |