1

我正在创建一个包含多个 UITableViewControllers 的应用程序。到目前为止,我已经让它们都连接到我的不同 JSONGetStuff.php 文件,然后使用 JSON 编码从我的数据库中获取数据。这很好用。大多数表格都有包含文本和图像的单元格。现在我有四个包含不同数据的 tableView,我想保存数据而不是每次都加载它。现在我让应用访问 ViewDidLoad 上的 JSON.php 文件,并将数据存储在 NSArray 中,然后通过 NSDictionary 解析得到 ObjectForKey:@""; 此数据是来自 SQL 服务器的普通表,例如“名称”“地址”“图像名称”等。

我已经意识到我不会太频繁地更新数据库,很可能一个月一到两次,甚至可能更少。所以我决定将信息存储在安装的应用程序中。不是每次更改数据库时都必须发布更新,而是保存直到更新。

我想我的应用程序中应该有一个名为“Version”的整数,即 = 1; 发布时。然后,当应用程序启动时,我想让应用程序转到 www.mywebsite.com/version.php,并检查回显的变量是否与“版本”相同。每当我更改我的数据库时,我都可以更改这个整数 ++。当应用程序启动并检查版本时,它在本地是错误的,然后我希望它下载整个负载,并覆盖当前存储在 iPhone 上的数据。

我不知道从哪里开始。我使用 JSON 是因为直接连接到数据库不好,但由于我的数据是数据库数据,我可以创建一个本地数据库并使用该信息而不是数组吗?我在某处读到 .plist 可能更适合字符串,而我的整个数据库只是字符串(varchar x)。

我在哪里保存初始数据?如何使用 ie JSON 解析我的数据库数据?时机成熟时如何覆盖该数据?我从哪里开始?我应该阅读 .plist、NSData、NSCoding 还是 NSFileManager?

4

2 回答 2

4

尝试考虑将数据持久保存在核心数据数据库中。核心数据是处理数据库的持久框架。核心数据为你处理了很多东西(关系、内存等),并且与表(使用 NSFetchedResultsController)配合得很好。

http://developer.apple.com/library/mac/#documentation/cocoa/Conceptual/CoreData/cdProgrammingGuide.html

当然,这完全取决于数据量,但您可以开始查看链接的文档。

于 2012-08-16T15:40:19.277 回答
1

如果数据简单,您可以使用NSCacheNSUserDefaults快速有效地存储数据。

于 2012-08-17T07:17:47.533 回答