【问题标题】:Signal Abort(SIGABRT) exception in XcodeXcode 中的信号中止(SIGABRT)异常
【发布时间】:2017-03-28 21:22:56
【问题描述】:

最近我一直在尝试学习如何在空闲时间创建应用程序。我一直在关注 Apple 的 Swift 文档以及他们关于创建应用程序的教程。完成“将 UI 连接到代码”教程后,我运行了模拟器,但在我的“AppDelegate”类中收到了 SIGABRT 异常。我看了看控制台,它说:

由于未捕获的异常而终止应用程序 'NSInvalidArgumentException',原因:'-[FoodTracker.ViewController nameTextField:]:发送到实例的无法识别的选择器 0x7fb572d0a040'

我什至用 Apple 的文件替换了我的原始文件,只是为了看看是否有任何差异(没有差异,除了一些额外的 cmets)。这是我的 ViewController 类文件:

class ViewController: UIViewController, UITextFieldDelegate {

//MARK: Properties

@IBOutlet weak var nameTextField: UITextField!
@IBOutlet weak var mealNameLabel: UILabel!


override func viewDidLoad() {
    super.viewDidLoad()

    // Handle the text field’s user input through delegate callbacks.
    nameTextField.delegate = self

}

//MARK: UITextFieldDelegate

func textFieldShouldReturn(_ textField: UITextField) -> Bool {
    // Hide the keyboard.
    textField.resignFirstResponder()
    return true
}

func textFieldDidEndEditing(_ textField: UITextField) {
    mealNameLabel.text = textField.text
}  

}

【问题讨论】:

  • 在 storyBoard 中检查你的nameTextField 连接?
  • 尾随的分号让我们想知道您是否在 Storyboard 中设置了 IBAction 而不是 IBOutlet。正如乔所说,检查您的故事板,看看您的连接是否有感叹号。
  • 我没有看到任何感叹号。
  • 将您的项目上传到某个地方,以便我下载并试用。
  • drive.google.com/open?id=0B0lXmLqP87aON0wwckJucWhSbms 已将其上传到 Google 云端硬盘。谢谢:)

标签: ios iphone swift xcode


【解决方案1】:

正如我在评论中提到的,您的 Storyboard 与代码绑定不一致。下面的屏幕截图显示了 Xcode 抱怨的感叹号。删除并重新添加它们。

【讨论】:

  • 如果这有帮助,请将其标记为答案,以便对其他人有用。
猜你喜欢
  • 2015-01-23
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-03-19
  • 2015-02-27
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多