Xcode 可以重新创建 UIViewController 吗?

Xcode recreate UIViewController possible?

有没有办法从内部 "recreate" a UIViewController。 Android SDK 11 向活动添加了 recreate() 方法。在研究该主题时,我发现这个用于 UI 恢复:UI Restoration

我不认为这真的是我要找的东西。

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

我找到了这个问答:Whosebug link

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

感谢阅读!

我假设您希望视图控制器的属性及其视图与以前一样。没有 "magic bullet" 可以这样做;你只需要自己做。

现在,如果您的视图控制器构造正确,它的属性会自动决定它的界面。因此,通常的做法是保存 属性 值(例如在 UserDefaults 中),然后从中恢复它们和界面。

也可以只保留视图控制器,以便您以后可以直接再次使用它。毕竟,它只是一个普通的对象。这可能有点冒险,因为视图控制器的视图是内存密集型的,但是有一些方法可以减少它占用的内存量。