Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/swift/18.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Swift 上一个ViewController保持活动状态_Swift - Fatal编程技术网

Swift 上一个ViewController保持活动状态

Swift 上一个ViewController保持活动状态,swift,Swift,我有一个ViewController,我通过以下函数从tableviewcell以编程方式切换到它 private func switchView(标识符:字符串){ DispatchQueue.main.async{ let storyboard=UIStoryboard(名称:“Main”,捆绑包:nil) 让vc=storyboard.InstanceEviewController(带标识符:标识符)作为UIViewController self.present(vc,动画:true,完成

我有一个ViewController,我通过以下函数从tableviewcell以编程方式切换到它

private func switchView(标识符:字符串){
DispatchQueue.main.async{
let storyboard=UIStoryboard(名称:“Main”,捆绑包:nil)
让vc=storyboard.InstanceEviewController(带标识符:标识符)作为UIViewController
self.present(vc,动画:true,完成:nil)
}
}
过了一会儿,我需要切换回原始状态,所以我再次使用相同的视图调用switchView。唯一的问题是,在以前的ViewController中,许多内容保持活动状态


我怎样才能解除上一个ViewController及其所有内容?

您是否尝试在您试图摆脱的VC上调用“解除”功能

self.dismiss(animated: true, completion: {
let vc = FirstController()
pvc?.present(vc, animated: true, completion: nil)
})

你有没有试过在你想摆脱的VC上打“解雇”电话

self.dismiss(animated: true, completion: {
let vc = FirstController()
pvc?.present(vc, animated: true, completion: nil)
})

应注意,此代码将返回到
FirstController
,然后在自身顶部显示
FirstController
。导致用户在viewController堆栈中有2x
FirstController
。@Vollan这不是我想要的。我想从FirstController导航回一个新的FirstController。应该注意的是,此代码将返回到
FirstController
,然后在自身顶部显示
FirstController
。导致用户在viewController堆栈中有2x
FirstController
。@Vollan这不是我想要的。我想从FirstController导航回新的全新FirstController。当您想转到上一个视图时,只需检查标识符并使用pushviewcontroller而不是present。当您想转到上一个视图时,只需检查标识符并使用pushviewcontroller而不是present。