swift2 如何在执行segue后销毁视图控制器的示例

wbrvyc0a  于 2022-11-06  发布在  Swift
关注(0)|答案(2)|浏览(172)

我使用performSegueWithIdentifier在视图控制器之间导航
我有一个有多行的tableView,当一行被操作时,我调用一个webViewController来播放所选的资源,并使用segue

performSegueWithIdentifier("Play", sender: nil)

关联对象:

override func prepareForSegue(segue: UIStoryboardSegue, sender: AnyObject?) {
    if(segue.identifier == "Play") {
        let detailVC = segue.destinationViewController as! WebViewController
        detailVC.courseToPlay = self.courseToPlay
    }
}

而且,在WebViewController上,我在列表中有一个goBack按钮,我想在goBack上销毁它的webViewController示例
我的故事板中没有NavigationController,因此,此行不起作用

navigationController.popViewControllerAnimated(true)

我又用segue来goBack:

performSegueWithIdentifier("closePlayer", sender: nil)

但是每个segue动作示例都有一个新的视图控制器,它们从来没有真正从内存中解放出来,它们似乎只是被隐藏起来了
例如:在Safari调试器中,我可以看到很多页面,而且我总是可以在控制台中与这些页面进行交互
当场景改变时,如何正确地“销毁”视图

watbbzwu

watbbzwu1#

快速3:

self.dismiss(animated: true, completion: nil)

希望能对你有所帮助。
谢谢

aiqt4smr

aiqt4smr2#

如果它是模态segue,则可以使用

dismissViewControllerAnimated(true, completion: nil)

若要解除webViewController而非另一个segue

相关问题