【问题标题】:(Swift, Xcode) How to prevent reloading of ViewController when segue back from SWRevealController?(Swift,Xcode)从 SWRevealController 转回时如何防止重新加载 ViewController?
【发布时间】:2015-11-04 12:11:15
【问题描述】:

我正在使用 SWRevealController 和 4 个 viewController。我怎样才能使 viewControllers 只加载一次并且使用 SWReveal 切换回它们不会重新加载它们?

【问题讨论】:

    标签: xcode swift uitableview uiviewcontroller swrevealviewcontroller


    【解决方案1】:

    据我所知,SWRevealController 不是这样工作的,它可能是正确的。视图控制器一旦从显示堆栈中移除(当您选择另一个视图控制器时),视图控制器就会根据它们的生命周期进行处置,我可能会假设是从菜单中。

    考虑到您要求的情况,我可以看到它工作的唯一方法是,如果您使用“hack”将所有 4 个 ViewControllers 保留在内存中并且永远不要丢弃它们,因为您是消耗宝贵的内存,并且您的解决方案可能不是很有可扩展性。例如,如果你明天有 10 个视图控制器,你最终会消耗更多的内存。

    请查看此线程以获得更清晰的信息:https://github.com/John-Lluch/SWRevealViewController/issues/230

    希望这能回答您的问题。谢谢。

    【讨论】:

    • 感谢您的回答。如果我在所有 viewControllers 上都有 WKWebViews 并且想要保持 viewControllers 上的滚动位置/页面而无需刷新怎么办?
    • 我不知道 WKWebView 是如何工作的(从未使用过),但是由于您的 viewController 将从内存中删除,我认为您的 webview 也不会被保留。您可能需要想办法以某种方式缓存您的数据(我们再次讨论大量数据,因为这是 HTML,我不推荐它),以及滚动位置。
    猜你喜欢
    • 2021-07-18
    • 2018-12-16
    • 1970-01-01
    • 2021-05-28
    • 1970-01-01
    • 2010-12-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多