cocos2d:SQLite 还是核心数据? - 需要重新设计数据库,因为我当前的应用程序非常慢或有时在没有 WiFi 的情况下崩溃

Posted

技术标签:

【中文标题】cocos2d:SQLite 还是核心数据? - 需要重新设计数据库,因为我当前的应用程序非常慢或有时在没有 WiFi 的情况下崩溃【英文标题】:cocos2d: SQLite or Core Data? - need to redesign with database because my current App is very slow or crashes sometimes without WiFi 【发布时间】:2013-02-28 21:15:13 【问题描述】:

我决定开发内部数据库,而不是从远程服务器解析 JSON 数据。我做了一些搜索,需要知道哪一个更适合我的 QUIZ APP、SQLite 或 Core Data?我对数据库编程不是很有经验,所以如果提供一些学习它们的链接,那对我有很大的帮助。

【问题讨论】:

【参考方案1】:

一般来说无法回答这个问题。两者都很好,这取决于你在做什么。概括地说:

Core Data 的设计理念是直接创建、读取、写入和搜索模型对象。虽然它通常在内部使用 SQLite,但这是一个实现细节——它只是一个 SQLite 包装器。您可以通过 Apple 的Core Data Programming Guide 了解它,尤其是“技术概述”和“基础知识”部分。 SQLite 就是 SQL。您在一个文件中获得了一个关系数据库,您可以使用通常的 SQL 样式创建、选择和更新记录。 SQLite 有自己的原生 API,您可以在 SQLite home page 阅读。有几个 Objective-C 风格的包装器通常更容易在 ios 和 Mac 应用程序中使用——PLDatabase 和 FMDB。

哪一个最好取决于您需要如何访问您的数据。在任何情况下都不是正确的。

【讨论】:

我可能有 6-8 个类别的测验问题类型,每个类别都有一些数据。您可以在jeewanaryal.web44.net/json/myValidjson.json 此处查看我的旧 json 结构,我正在考虑设计相同的内部数据库。如果您能建议我哪种方法有效,那对汤姆很有帮助。谢谢 数据结构本身并不能提供足够的信息——两者都可以。您需要考虑计划如何使用应用程序中的数据,了解两者的工作原理,并据此做出决定。 我的应用程序现在在 App Store 中。我没有使用 Coredata 或 SQLite,我只是使用 JSON 作为数据存储。谢谢大家...

以上是关于cocos2d:SQLite 还是核心数据? - 需要重新设计数据库,因为我当前的应用程序非常慢或有时在没有 WiFi 的情况下崩溃的主要内容,如果未能解决你的问题,请参考以下文章

预填充核心数据存储:使用 JSON 属性列表还是 XML 文件?

更改核心数据堆栈后使用核心数据创建 SQLite 文件后未更新

Android数据库代码优化 - 从SQLite说起

核心数据 SQLite 文件无数据

核心数据 SQLite 文件

核心数据/SQLite 存储偶尔数据丢失