在 Modal Segue 之后从内存中删除 UIViewController

Remove UIViewController from memory after Modal Segue

我在 UIViewController 'A'。我正在展示(Modally - Cross Dissolve)UIViewController 'B'.

呈现'B'后,当我touch/tapView时,'A'的TouchesBegan被触发。所以我想我需要在 'B' 出现后从内存中删除 'A'。

我试过了:

 override func prepareForSegue(segue: UIStoryboardSegue, sender: AnyObject?) {
        if segue.identifier == "gameLevel"
        {
            if let viewController: ViewController = segue.destinationViewController as? ViewController {

                self.dismissViewControllerAnimated(false, completion: nil)
            }
        }
    }

Dosent 似乎有效。关于如何在我移动到 'B' 后 从内存中删除 'A' 的任何建议?

我不明白你为什么要这样做。如果你正在展示一个视图控制器,你的用户体验设计应该让用户回到它。这是预期的设计;如果您不想要这种体验,请不要使用 presentViewController:animated

此外,SDK 中也没有执行此操作的 hack。如果您查看文档,这对您来说会很明显,presentingViewController 是一个强有力的参考。

您可能想要删除所有视图层次结构并设置应用委托的 rootViewController 属性。您可能看不到动画;但是底层视图控制器可能被释放。