【问题标题】:How to detect view controller dismissed or not如何检测视图控制器是否被解雇
【发布时间】:2016-06-30 08:06:46
【问题描述】:

在 iOS 应用中,可能有多个视图控制器。他们可能会从一个到另一个执行segues。问题是如何在实现 segue 时检测每个视图控制器是否被解雇。谢谢。

【问题讨论】:

    标签: swift segue detect dismiss


    【解决方案1】:

    您可以访问:

    override func viewWillDisappear(animated: Bool) {
    
    }
    
    override func viewDidDisappear(animated: Bool) {
    
    }
    
    // Called when the view controller will be removed from memory.
    deinit {
    
    }
    

    这可以帮助您根据视图控制器的状态来管理事物。

    【讨论】:

    • 谢谢伙计。有时甚至视图消失了,它仍然存在。
    【解决方案2】:

    我不确定您是否可以检测到它是否被解除,但您可以在 performSegueWithIdentifier 中设置一个变量“viewControllerDismissed = true”,该变量将在被解除的后面的 VC 中检测到。

    【讨论】:

    • 谢谢丹。其实我是在要求解雇或处置,不仅是消失。我想在某些场景中,当执行某些 segue 时,第一个视图控制器仍在堆栈中。例如,当我们从第一个 vc 到第二个 vc 执行 SHOW segue 时,第一个 vc 仍然存在。当从第二个 vc 回到第一个 vc 时,第二个 vc 消失了。我的问题是如何检测视图控制器已完全释放。
    猜你喜欢
    • 2021-06-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-12-27
    • 2014-03-21
    • 2012-02-25
    相关资源
    最近更新 更多