2

我正在编写一个天气应用程序,它会根据当前的条件/温度来了解你穿什么,告诉你应该在外面穿什么。我正在收集一些简单的数据并将其存储在设备上。我正在收集:

  • 约会时间
  • 天气温度
  • 天气状况
  • 6个整数字段:
    • 胸部
    • 配饰

我将根据当前的温度/条件查询数据,得到 6 个 int 字段中的值的平均值,以预测用户通常穿什么。

我只保留在 iPhone 上。什么是好的客户端数据存储方法?查询不是太激烈,但我需要查询类型和范围。

我以前没有使用过Core Data。对 MySQL 非常熟悉,但没有接触过 SQLite。同样,为了简单/速度,我想保留这个客户端而不使用数据库。我的目标是进入/退出应用程序。

4

2 回答 2

2

我建议使用 Core Data 或 SQLite。你的权利,这不是很多数据被存储。如果该应用程序是成功的,并且您想扩展您的概念怎么办?

例如:

(1) 你想存储更多的数据

(2) 也许同步数据到服务器

(3) 更改您存储的数据类型

你甚至在你的问题中提到了 QUERY,对我来说这就是你的答案。使用 Core Data,这一切都会变得容易得多。会有一个学习曲线,但学习这个框架将对未来的项目有益。

祝你的项目好运。

于 2012-05-24T00:45:41.247 回答
1

之前的一张海报推荐使用 Core Data 而不是 SQLite。尽管他们建议这两种选择之一是正确的,但如果您已经熟悉 MySQL 并且正在寻找一个入门/退出应用程序,我建议您使用 SQLite。

Core Data 是一个优秀的框架,但是考虑到你的规范和你以前的经验,有一个学习曲线可能不值得。SQLite 简单、快速且是客户端。此外,您的查询看起来与 MySQL 没有任何不同。

其他海报提到通过 NSUserDefaults 或 NSKeyedArchiver 进行序列化。虽然它们确实使序列化变得简单,但您最终将使用 NSPredicate 滚动您自己的查询代码。这并不难,但同样,它可能是一项新技术,虽然值得,但最好留到下一次。更令人担忧的是,如果您的应用确实开始快速使用大量数据,它们将无法很好地扩展。

关于更普遍的规模,如果您的应用程序确实非常成功,那么请担心它。您始终可以在必要时重构和扩展。

于 2012-05-24T02:11:58.897 回答