1
此代码应该有一个按钮获得点击,来执行一个SEGUE和加密数据获得通过向第二视图控制器的变种称为passedData。 下面是按钮动作的代码:performSegue投掷SIGABRT
@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的评论中得到了回答。不要犹豫,要回答。
https://stackoverflow.com/questions/25513134/sigabrt-error-calling-segue-programatically-in-swift,看看这里,看看是否解决它。 –
@AaronHalvorsen谢谢,这回答了我的问题! –
您的视图控制器可能没有名为'showEncoded'的segue,请仔细检查。 PS。为了将来的参考,你应该检查控制台在出现错误时说的是什么,'SIGABRT'没有说太多,它实际上只是说执行被中止了,但我确信Xcode中的控制台说它没有找到你指定的名字。 – EmilioPelaez