gpt4 book ai didi

ios - Unwind segue 不起作用 SWIFT

转载 作者:可可西里 更新时间:2023-11-01 01:06:28 24 4
gpt4 key购买 nike

我有一个带有表格 View 的导航 Controller 。当我按下一个单元格时,详细 View Controller 打开。

在我的 Root View Controller 中我有:

override func prepareForSegue(segue: UIStoryboardSegue, sender: AnyObject?) {

if segue.identifier == "detailview" {
var destination:DetailViewController = segue.destinationViewController as DetailViewController
destination.delegate=self
}
}

在我的详细 View Controller 中,我有一个后退按钮:

@IBAction func back() {        
self.navigationController?.popViewControllerAnimated(true)
}

问题是,在 2 go to and return 之后,当我返回 Root View Controller 并按下后退按钮时,我的应用程序崩溃了。控制台不会给我错误。它只是崩溃。

我想我忘了解除 segue。所以在我的详细 View Controller 中,我添加了:

@IBAction func unwindToViewController(segue: UIStoryboardSegue) {
println("unwind function")
}

我将此功能连接到 Storyboard中带有“退出”的后退按钮。

当我运行我的应用程序时,如果我按下后退按钮,控制台不会显示我的打印“unwind function”,因此不会调用 unwindToViewController。为什么?

我的应用程序仍然崩溃...

最佳答案

您的 unwindToViewController 方法应该放在您的根 viewController 中,然后按住 ctrl 从 detailViewController 中的按钮拖动到 InterfaceBuilder 中的 Exit 图标。在弹出菜单中选择该方法。

另一种方法是在从 detailViewController 调用的 rootViewController 中声明一个带有函数的协议(protocol)。您已经将 rootViewController 设置为 detailViewController 的委托(delegate)。在该函数中,您调用 dismissViewController

关于ios - Unwind segue 不起作用 SWIFT,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27754132/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com