一个应用程序中的多个plist文件

时间:2011-07-19 04:58:09

标签: iphone objective-c ios xcode4

我有一个ios应用程序,它有很多静态内容和静态设置。现在,我将它们保存在我发布应用更新时更新的多个plist文件中。保存内容和方便我很方便。 plist文件中的设置,而不是源代码中的数组或字典。

我的应用程序中的每个模块都有一个plist,并且设置了一个普通的plist文件。整个应用程序大约有8个plist文件。主要是小plist文件。

它们是非常小的plist文件,我只在发布更新时更改它们,所以我没有看到为什么我应该使用核心数据或sqlite的原因。

将所有内容和设置保存在plist文件中是否合理,是否会出现性能问题?我应该缓存plist数据,以确保我只将文件短语一次,或者这是一个相对便宜的电话?

2 个答案:

答案 0 :(得分:2)

读取和编写plist文件(特别是小文件)是高度优化的,你可能不会受到性能影响。

如果您有任何疑问,可以随时通过仪器运行您的应用程序,看看处理过滤器的时间是否过长。

根据您需要阅读plists的频率,缓存其内容可能是个好主意,但这取决于您的具体用法。缓存它们意味着一直使用更多内存,而不是只需要以加载plist为代价。

答案 1 :(得分:1)

如果此模式适合您,则无需更改它。将信息存储在不同的plist文件中没有任何问题,特别是如果一个模块存储的数据与另一个模块存储的数据之间没有耦合。

使用Core Data / SQLite的主要好处是它是关系型的。它了解您的状态如何与其他状态相关,并提供API以便有效地查询,排序,浏览和过滤它。但是,如果您的数据是非关系数据,则将其填充到关系数据库中几乎无法获得。

至于性能,如果每次用户查看某些状态时重新处理plist文件,那么效率非常低。就个人而言,我建议保留一个代表你的plist状态的内存数组或字典,并在每次更改时将内存数据写回plist。然后读取总是很快,因为你只是使用内存中的副本。