ios - 缓存故事板在它们之间切换的视图控制器
问题描述
我有一个带有标签栏视图控制器的情节提要,它加载了一个导航控制器,该控制器加载了多个视图控制器。当您从一个视图控制器转到下一个视图控制器并返回到第一个视图控制器时,数据会重新加载。我想缓存视图控制器以避免重新加载数据。我不想以编程方式加载视图控制器。有没有办法使用情节提要代码启用缓存?
解决方案
您想缓存UIViewController
所持有的数据,而不是UIViewController
它自己,当您关闭/弹出时,UIViewController
您将其从层次结构中删除,UIWindow
当您再次呈现/推送它时,它的生命周期重置并再次触发,导致您重新获取UIViewController
因此,缓存数据并在您呈现/推送时检查数据就是UIViewController
您要查找的内容。
对此,我建议您查看一些您熟悉的本地数据库,例如Realm。
因此,当您获取存储它的数据时,Realm
当您呈现/推送时,UIViewController
您只需检查这些数据是否存在,否则再次获取它们,您还可以执行计划以在一段时间后清除缓存的数据.
推荐阅读
- git - 根据提交而不是目录或文件类型拆分存储库
- angular - ngx-formly:如何为 dateTimePicker 等自定义控件正式触发模糊事件?
- highcharts - 将 y 轴从直线内的哑铃图移动
- python - boto3:启用 CDN 时如何与 DigitalOcean S3 Spaces 交互
- docker - Docker apache guacamole - GUACAMOLE_HOME 不会改变
- c++ - 为什么`std::string str(nullptr)`和`std::string str=nullptr`是错误的?有人可以详细解释原因吗?
- powershell - 如何将变量添加到电子邮件正文
- php - laravel刀片中的舍入问题
- reactjs - @risingstack/react-easy-state:任务不是函数
- css - 三元运算符显示所有处于活动状态的按钮,而不仅仅是当前按钮。我该如何解决?