关闭 ViewController 并能够使用相同的细节再次 present/show 它 - 类似于 Spotify "player view"

Dimiss a UIViewController and be able to present/show it again with the same details - similar to Spotify "player view"

在我的应用程序中,我有一个 (Master)UIViewController,还有一个 UITableView 保存音频文件。当我 select 单元格 a (Detail)ViewController 以模态方式呈现并播放音频时,并显示有关音频播放的详细信息。 现在,我想关闭详细视图,然后仍然能够使用显示的相同数据来呈现它,有点像多任务处理或像 Spotify "player" 视图行为。

这是我解雇时所做的:

@IBAction func dismissView(sender: AnyObject){ 
    self.dismissViewControllerAnimated(true,completion:nil)
 }

在(Master)ViewController 中,我有一个 UIView 作为页脚,带有一个按钮来显示被解雇的(详细信息)ViewController。 我展示它的方式是使用 Storyboard 将按钮挂接到 (Detail)ViewController

编辑:尝试根据用户@JamesBlair

的一些建议建立我的问题

在我绝望地寻找解决方案时,我开始知道我需要保存和恢复从 (Master)ViewController 呈现的 (Detail)ViewController 的状态。 但是,当我通读 UIViewControllerprepareForSegue 上的 documentation 时,我不明白如何在使用 segues 中实现它。 同样,基本上我想要的是关闭具有 UIView 值的 (Detail)ViewController,并能够使用相同的值再次打开它。

如果能在正确的方向上提供任何帮助,我将不胜感激。

当您关闭详细视图控制器时,您应该将当前状态保存在某处(磁盘、数据库、内存缓存等)。

然后在呈现细节视图控制器时覆盖 prepareForSegue,检查您是否保存了正在呈现的项目的状态,如果保存,则将其传递给目标视图控制器。然后目标视图控制器可以显示保存的状态(如果存在)。

https://developer.apple.com/library/ios/documentation/UIKit/Reference/UIViewController_Class/#//apple_ref/occ/instm/UIViewController/prepareForSegue:sender: