【问题标题】:Why doesn't fetched data disappear when returning to a view?为什么返回视图时获取的数据不消失?
【发布时间】:2014-01-31 16:02:54
【问题描述】:

在我的视图控制器的viewDidLoad 方法中(与viewDidAppear 不同,它只调用一次),我正在对数据进行网络请求。每当我切换视图并返回到第一个视图时,我注意到即使没有再次提取数据,旧数据仍会显示在屏幕上。我没有使用 Core Data,那么这些数据存储在哪里?如果数据显然已经持久化,为什么还要使用 Core Data?

【问题讨论】:

  • 在内存中。您的视图(及其所有子视图)仍然存在于内存中,如果您没有更改它们,那么它们将与您离开时一样。

标签: ios cocoa-touch uiviewcontroller data-persistence


【解决方案1】:

如果您的视图嵌入在导航控制器或选项卡控制器中,那么当您呈现另一个屏幕时,您的第一个屏幕(以及组成它的视图和视图控制器)不会被取出内存,卸载,销毁等。视图只是呈现为不可见(从视图层次结构中删除)。当您关闭您正在显示的任何“下一个”屏幕时,您将返回到相同的仍然存在的原始屏幕。它是重新显示的,而不是重新创建的。关于它的状态的所有内容都完全保留在您在其上呈现另一个视图控制器时的位置。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2022-12-28
    • 2019-09-15
    • 2011-10-12
    • 2012-03-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多