我目前正在开发iOS应用程序。该应用程序旨在创建一个帐户,然后可以邀请几个朋友加入一个小组。
一旦人们加入该小组,您可以提交一种“信息”。每组每天大约发送5次此信息。
信息将以“历史记录”视图显示,换句话说就是一个表格视图。它们将像这样出现在单元格中:
- 成员的图像。
- 一种文字
- 带时间的日期。
[提交表单时,图像的Firebase存储URL已发送到Firebase Realtime,数据库在其中保存如下数据类型:imageUrl,文本和日期。
[然后我从Firebase下载数据时,所有图像都会再次下载,我注意到Firebase存储非常过载。我超出了每天少于1小时的限制。
let memberImagePath = dataArray[indexPath.row].memberImage
cell.memberImage.downloaded(from: memberImagePath)
所以我想知道如何改善这一点?如何使图像仅下载一次,然后以其他方式保存?部分是为了提高应用程序的性能,但也不能超过限制。
我基本上希望图像对于所有小组成员都位于正确的位置(不仅对于我自己)。
因为当您在一个小组中时,该小组的每个成员都可以看到包括图像,文本和日期的历史记录。因此,我需要以某种方式下载图像一次并将其保存在其他位置。
请注意,每次使用都需要更新。就像将新成员添加到组中一样,必须在组中每个人的设备上更新他/她的图像。因此,将数据保存在UserDefaults中可能不是一个选项,对吧?
我希望你理解我在寻找什么。谢谢。
您可以将数据存储在documents目录中。签出FileManager
类。只需检查文件在设备上是否存在,如果不存在,则下载文件。但是,如果可以更新映像,那么您将需要某种版本控制系统,以确保每个设备都具有最新的映像。