一个 plist 或多个 plist 来存储我的回复

Posted

技术标签:

【中文标题】一个 plist 或多个 plist 来存储我的回复【英文标题】:A single plist or more than one plist to store my responses 【发布时间】:2015-01-14 09:12:07 【问题描述】:

我需要将我的响应从 Web 服务 API 保存到 plist。我有大约 10 个 Web 服务 API 和那么多响应。从性能的角度来看,我应该将数据保存到 10 个不同的 plist 还是只是一个具有不同键的 plist? 注意:数据不是很大,只存储了一段固定的时间,之后就会被删除。

【问题讨论】:

您可以使用核心数据来保存您的回复数据。 Plist 不是更好的方法。 @Tirth "数据并不大,只存储了一段固定的时间,之后就会被删除。"所以 IMO Core Data 是个糟糕的主意。 @GuillaumeAlgis 如果数据足够小,那么为什么不将其保存在序列化的 gobal 类中?我不认为这会影响应用程序的性能。 @Tirth If 也认为性能无关;看我的回答。 “序列化的全局类”是什么意思? @Tirth 我对核心数据持怀疑态度。我更喜欢 plist 而不是核心数据。你能评论一下连载的gobal类吗? 【参考方案1】:

这取决于 plist 的大小以及您将对文件执行的写入/读取操作。在任何一种情况下,我都希望单独保存每个 plist 以提高性能、安全性和可用性。

【讨论】:

【参考方案2】:

您担心性能吗?因此,请实施这两个选项,衡量并根据结果保留最佳选项。

但是,一般来说,最好的做法是:

    实现最简单/更优雅的解决方案; 当您认为自己有性能问题时,请对其进行测量,如果您获得重要数据来支持您的怀疑,请修复它(最终在此处询问如何优化您的代码); 修复后,再次测量。性能问题已解决:是的。性能问题仍然存在:转到 2)。

Premature optimization is the root of all evil,亚达亚达..

【讨论】:

考虑到您的观点,是否有正确的方法来衡量性能? Instruments 带有时间分析器。观察您在保存/加载功能上花费了多少时间。 感谢您的意见。

以上是关于一个 plist 或多个 plist 来存储我的回复的主要内容,如果未能解决你的问题,请参考以下文章

搜索核心数据与 Plist

如何在 PList 中添加多个数组

字典的 plist 或存储

如何打开 plist 文件

为多个视图控制器使用一个属性列表 (.plist)

plist文件格式转换器