从Xcode 8 beta 5更新到Xcode 8最终版本后,从我所有的segue方法准备中删除覆盖后,所有这些都在运行时崩溃。
以下是我的代码示例:
这是按钮的操作方法:
{r test, results = "asis"}
stargazer::stargazer(attitude,
type = "html",
digits = 2,
summary.stat = c("mean","sd","median","min", "max"))
这是对segue方法的准备。
@IBAction func actionRequested(_ sender: AnyObject) {
if sender as! UIButton == shoppingButton
{
print("executed from inside of actionRequested Method")
performSegue(withIdentifier: "toShopping", sender: self)
}
}
这是错误:
// MARK: - Navigation
func prepare(for segue: UIStoryboardSegue, sender: AnyObject?) {
print("executed from inside of prepare For segue method")
if segue.identifier == "toShopping"
{
let newHomeViewController = segue.destination as! HomesTableViewController
newHomeViewController.profile = self.profile
}
}
请注意,在删除覆盖之前,我对segue方法的所有准备都在工作,现在我在所有这些方法中都得到了相同的错误。任何人都可以指出我正确的方向来解决这个问题吗?
提前谢谢你。
答案 0 :(得分:2)
请勿删除override
,而是隐藏问题而不是修复问题。准备segue方法的签名在Xcode 8 beta 6中发生了变化。
现在应该是:
override func prepare(for segue: UIStoryboardSegue, sender: Any?) {
答案 1 :(得分:0)
我终于解决了重新安装Xcode并使用Dan提出的方法签名的问题。
感谢您的回复。