我正在尝试找到使用ios系统缓存多个字符串值的最佳选项。
到目前为止,我发现的两个是NSCache和NSDictionary,但是根据我的内容,如果你开始遇到内存问题,NSCache将会转储数据,坦率地说我并不完全理解NSDictionary。
所以我想知道如果有任何其他选项会包含我想要实现的内容...例如可能使用核心数据/本地sqlite等?基本上计划是从在线数据库获取信息,在手机上存储一些仅在数据库上的版本号(和int)发生变化时才更新的更重要的信息,我将刷新我的缓存并更新它随着新的信息。
答案 0 :(得分:1)
如果我理解正确,似乎每次在服务器上安装新版本时,您都希望下载新数据,并将其中一些存储到设备中。
如果是这种情况,您可以将所有数据写入文件,并将其保存在手机上,然后再从该文件重新加载所需的数据。我个人喜欢使用NSCoding,因为它可以让您轻松地将数据存储到文件中,然后在需要时再将其读回。您甚至不需要一次读取所有数据,只需要在什么时间读取所需数据,这有助于解决内存问题。您还可以使自己的自定义对象NSCoding
兼容,并且存储数据变得更加容易!
我建议尝试NSCoding
。还有很多教程可以帮助你解决这个问题。
此外,NSDictionaries非常易于使用。你给它一个object
和一个key
来存储它,当你希望object
回来时,只需给NSDictionary
key
,然后你我会把物体拿回来。
希望有帮助!