【发布时间】:2017-06-20 23:02:28
【问题描述】:
这段代码应该有一个按钮被点击,一个segue被执行,加密的数据被传递到第二个视图控制器的变量passedData。 这是按钮操作的代码:
@IBAction func encodePressed(_ sender: Any) {
if messageInput.hasText {
encodedMessage = encodeMessage(input: messageInput.text!)
performSegue(withIdentifier: "showEncoded", sender: nil)
}
}
对于prepareForSegue,我有这个代码:
override func prepare(for segue: UIStoryboardSegue, sender: Any?) {
if let destinationViewController = segue.destination as? secondVC {
if let message = encodedMessage {
destinationViewController.passedData = message
}
}
}
显示“performSegue”的行是引发 SIGABRT 错误的行。如果您需要更多信息,请发表评论,我会毫不犹豫地添加更多信息。
顺便说一句,Aaron Halvorsen 在 cmets 中已经回答了我的问题。毫不犹豫地给出答案。
【问题讨论】:
-
stackoverflow.com/questions/25513134/…,看看这里是否能解决问题。
-
@AaronHalvorsen 谢谢,这回答了我的问题!
-
您的视图控制器可能没有名为
showEncoded的segue,请仔细检查。 PS。为了将来参考,您应该检查控制台在收到错误时所说的内容,SIGABRT并没有说太多,它只是说执行已中止,但我很确定 Xcode 中的控制台会说它没有找到您指定的名称的segue。 -
你能分享 SIGABRT 错误的完整堆栈跟踪吗?它可能表明问题的原因。