Xcode重新创建UIViewController可能吗?

时间:2018-09-19 18:38:29

标签: ios swift xcode uiviewcontroller

是否有一种从自身内部“重新创建” UIViewController的方法。 Android SDK 11为活动添加了recreate()方法。在研究该主题时,我发现此问题可用于UI恢复:UI Restoration

我不认为这确实是我想要的。

我的应用程序基本上是一个抽认卡应用程序,允许用户在完成卡片组时如果错过任何单词,则重试错过的单词。在Android中,这是一个简单的this.recreate(),其中遗漏的单词存储在SharedPreferences中,然后使用新的SharedPreferences字段重新加载视图。我有这项工作的UserDefaults方面。我不关注iOS是否可以重新创建视图。也许是先选出来再回来?

我发现了以下问题:stackoverflow link

但是我没有使用导航控制器。只是一个简单的UIViewController。

感谢阅读!

1 个答案:

答案 0 :(得分:0)

我假设您希望视图控制器的属性及其视图都像以前一样。这样做没有“魔术子弹”。您只需要自己做。

现在,如果正确构造了视图控制器,则其属性将自动决定其接口。因此,通常的事情是保存属性值(例如在UserDefaults中),然后再从中恢复它们和接口。

还可以保留视图控制器,以便您以后可以直接再次使用它。毕竟,它只是一个普通的对象。这可能会有一点风险,因为视图控制器的视图占用大量内存,但是有很多方法可以减少其占用的内存量。