我正试图让一个放松的segue工作(在Swift中)并阅读了所有“unwind segue not working”帖子我能找到但尚未发现它是什么我是他们做错了。如此。
我的左侧菜单中有一个UISplitViewController
UITableViewController
,我正在切换两个UINavigationController
+ UITableViewController
个详细视图。我左手菜单中基于Segue的导航工作正常。这是我想以编程方式解开事情的时候。
我在我的第一个视图控制器中创建了一个@IBAction
函数,我要放松的那个,就像这样:
@IBAction func unwindToDocuments(_ segue: UIStoryboardSegue) {
}
(我的第一个视图控制器是我的“文档”视图。)
然后,在第二个视图控制器中,我将展开segue连接到标识为unwindSegueToDocuments
和操作unwindToDocumentsWithSegue:
的退出节点。
我的理解应该是我需要做的一切。但是,当我尝试:
self.performSegue(withIdentifier: "unwindSegueToDocuments", sender: self)
它没有做任何事情。它作为详细视图保留在我的第二个视图控制器中。
我在那里使用self.performSegue
,因为我处于关闭状态。这是一些网络工作,所以它是在DispatchQueue.async()
后台队列中完成的。但是,performSegue
调用最后是嵌套DispatchQueue.main.async()
块。 (或者说,我已经尝试过两种/各种方式,但仍然无法放松它。)
控制台中没有任何帮助。