【发布时间】:2015-07-05 15:27:28
【问题描述】:
我有一个与服务器通信的应用程序。在这个应用程序中,我有一个表格视图,其中显示了我公司的几个人(他们的名字和姓氏以及他们的个人资料图片)。
每次 tableview 打开或需要刷新时,我都会从我的服务器获取用户列表。这些用户都有一个 image_name,我尝试在应用程序本身的数组中查找它。如果我在那里找不到它,我从文档目录加载它,如果我在那里找不到它,我从我的服务器下载它并保存在本地设备上以防止将来下载。
这很好用,它是管理用户和他们的图像的一种非常简单的方法,它还确保我只下载一次图像,如果多个用户有相同的图像(例如,他们没有上传的公司徽标)一张图片)。
问题是我没有保留对这些用户的引用,因此应用程序不知道哪个用户使用哪个图像,或者即使图像仍在使用中。
所以当人 A 有图像 X 时,它将被下载到 iPhone。如果用户 A 然后将他的图像更改为 Y,则应用程序将正确下载并显示图像 Y。但是,图像 X 永远不会从持久数据中删除。
我问你,stackoverflow 社区,处理这个问题的最佳方法是什么?
- 我是否应该开始保留对我的用户的引用,这样我也可以保留对旧图像的引用?
- 有什么方法可以找到上次从文档目录中读取图像的时间戳吗?
- 我应该将图像名称以及对它们的所有引用存储在 coreData 中吗? (某种自定义 ARC 逻辑)
- ...
【问题讨论】:
标签: ios core-data persistent-storage