iphone - 静态数据的属性列表或 sqlite?

标签 iphone sqlite plist

是否有任何“最佳实践”方法来存储 iPhone 应用程序的持久性静态数据?

我有一个应用程序可以读取大约 1000 个项目的字典,其中许多是数组。我开始为此使用单个 plist,但它变得有些笨拙,尤其是因为大部分值都是 HTML 字符串。

我有更好的方法来处理这个问题吗?我计划显着扩展此应用程序,显然我不想在中途改变我的方法。

我在谷歌上搜索了 iphone 数据存储 和变体,但没有找到任何东西,甚至连最佳实践都没有。

最佳答案

听起来您打算随应用程序分发一些数据。属性列表可能是最容易维护的,但它会被一次性加载到内存中。这可能会耗尽设备的大量内存。

另一方面,sqlite 数据库只会加载您请求的数据。我不确定你的数据是如何构建的,但你可以很容易地用一个数据库表创建键值对。 (具有 key 列和 value 列的单个表)然后,如果是我,我会编写一个 Objective-C 类来包装数据库查询,这样我可以编写简单的语句,例如:

NSString *welcomeText = [[MyData sharedData] dataWithKey:@"WelcomeText"];

首先将数据存入数据库并不一定很困难。您可以使用命令行 sqlite3 实用程序来批量加载数据。有一个名为 .import 的命令可以从文本文件中导入数据。

希望这能让您朝着正确的方向前进!

关于iphone - 静态数据的属性列表或 sqlite?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/934878/

相关文章:

ios - 更新plist-迅速

iphone - 为 safari 移动浏览器 (iPhone) 安装此网络应用气泡

iphone - 使用 AVfoundation 框架将视频保存到 iPhone 库

android - 如何使用简单的数据库输入和获取当前日期

linux - 在centos中安装sqlite3 dev和其他包

ios - plist 中的变量替换 - 我可以定义一次值并在手动维护的 plist 中重用它吗?

ios - 奇怪的 plist 行为在第一个值上返回 null 而在应该为 12 时返回 13 结果

iphone - iPhone 应用程序上的 Clang 静态分析器显示最新版本的错误

iphone 如何将我的项目构建发送给其他人

java - SQLite 与 Java web 启动(在 JNLP 中)怎么样?