Ios 最快、最轻松的方式(Sqlite或核心数据或plist或csv或平面文件)

Ios 最快、最轻松的方式(Sqlite或核心数据或plist或csv或平面文件),ios,objective-c,Ios,Objective C,我有一个简单的问题要解决,但我想知道使用哪种模式更好,并了解选择的原因。 问题: 我想创建一个实用程序,开发人员可以使用它根据服务器包版本检查是否应该启用/禁用该功能 例如:10.234、11.1等服务器包版本和9.3、10.2等客户端版本 在客户端上进行验证,以查看要启用/禁用的功能的服务器包上的最小版本。 示例数据类似于“搜索查找功能>=10.234”。有时,复杂的情况甚至需要检查客户端版本是否应该支持该功能 编辑: 注意:应用程序非常庞大,大部分时间内存都已满。(数千条组织数据记录)所以内

我有一个简单的问题要解决,但我想知道使用哪种模式更好,并了解选择的原因。 问题: 我想创建一个实用程序,开发人员可以使用它根据服务器包版本检查是否应该启用/禁用该功能

例如:10.234、11.1等服务器包版本和9.3、10.2等客户端版本

在客户端上进行验证,以查看要启用/禁用的功能的服务器包上的最小版本。 示例数据类似于“搜索查找功能>=10.234”。有时,复杂的情况甚至需要检查客户端版本是否应该支持该功能

编辑: 注意:应用程序非常庞大,大部分时间内存都已满。(数千条组织数据记录)所以内存是瓶颈

只是它甚至在脑海中闪现出使用宏来进行所有比较和返回值

我认为Plist会很重,因为所有对象都在NSDictionary中,即使要访问一个对象,我也会保存所有数据


我也想减少内存开销和比较。

对于轻数据,请使用NSUserDefaultsPList。SQLite和核心数据使用过度

更新问题的更新答案:-

对于服务器软件包版本/您的应用程序版本或其他轻量级数据,您可以始终使用NSUserDefaultsPList

<>对于组织数据的记录,您可能需要考虑<强>核心数据< /强> <
是的,您可以在应用程序中使用两种不同类型的持久存储

如果您的数据永远不会更改或增长,最好使用
NSUserDefaults
plist
csv
文件。如果您认为用户应该能够更改或向该数据文件添加新条目,那么最好使用
CoreData

Plists、csv和平面文件,对于少量到中等数量的数据(以及使用全部或几乎全部的数据),它们的开销较低

如果系统在任何给定的运行中只使用部分数据,并且具有大量数据,并且数据结构化,因此SELECT可以使用索引,那么使用数据库(SQLite或使用SQL Persistant store的CoreData)时,系统的速度会更快(越来越快)


直觉上,我认为SQL可以很好地处理您的问题,但前提是您所说的1000种配置,而不是10种甚至100种……但基准测试比我猜想的更好。Go code:-)

数据不会更改,plist、csv、NSUserDefaults(再次plist)将要解析,并且所有内容将始终位于内存中:(Ya编码和跟踪正在并行进行。想知道哪种设计模式最适合于此,它具有低内存、高性能,并且开发人员添加/修改/使用该实用程序的开销较小。我喜欢您对使用SQLServer的见解。如果任何答案满足您的问题,请接受答案。谢谢。