【发布时间】:2012-05-30 11:17:42
【问题描述】:
我正在编写一个天气应用程序,该应用程序会根据当前条件/温度了解您穿什么,从而告诉您应该在户外穿什么。我正在收集一些简单的数据并将其存储在设备上。我正在收集:
- 日期/时间
- 天气温度
- 天气状况
- 6 个 int 字段:
- 头
- 胸部
- 手
- 腿
- 脚
- 配件
我会根据当前温度/条件查询数据,取6个int字段的平均值,预测用户平时穿什么。
我只保留在 iPhone 上。什么是好的客户端数据存储方法?查询不是太密集,但我需要查询类型和范围。
我以前没有使用过 Core Data。对 MySQL 非常熟悉,但没有接触过 SQLite。同样,为了简单/速度,我想保留这个客户端而不是使用数据库。我的目标是开发一个入门/退出应用程序。
【问题讨论】:
-
NSUserDefaults(通过 .plist 文件)也许?看起来像一些相当简单的数据项,所以恕我直言 Core Data 或类似的可能有点过头了。
-
我没有考虑 .plist,这可能值得研究。我认为这将是矫枉过正,为这样一个简单的任务学习核心数据。虽然,我可能只需要为几个数据点加载整个 .plist ......但是,我确实想避免使用 NSUserDefaults ,因为在我看来,除了 user defaults 之外的东西存储是糟糕的设计。
-
NSKeyedArchiver 可以在文件中存储任意对象图。它非常方便,但是您必须自己编写所有查询(通过数组搜索、匹配键等)。咬紧牙关学习 Core Data,无论如何您最终都会这样做。
标签: iphone database sqlite database-design core-data