1

我正在使用 Xcode 4.3-如果我试图将用户的位置(纬度和经度)存储在数据库中并将他们的位置更新到数据库,假设他们每行驶 30 米,使用核心数据或 SQLite 会更好吗?目前我正在使用核心数据,但我遇到了很多麻烦。我需要决定是否需要进行切换并仅使用 SQLite。有什么建议吗?*注:用户不需要在手机上查看自己的位置数据

4

2 回答 2

2

您对核心数据的“麻烦”表明您对该 API 不是很熟悉。在 iOS 上,默认情况下,核心数据无论如何都使用 sqlite 作为其数据的底层持久存储,因此在您的情况下,这可能不是性能和细节问题,而是理解概念。如果您感觉更自在并且“在家”直接处理 sqlite 或使用第三方 sqlite objecitive-c 包装框架,请坚持下去,完成工作。开箱即用,核心数据免费为您提供的是在处理数据时更高级别的抽象(基本上都是关于对象和谓词,以及一些将数据绑定到视图的助手)和内存管理。不利的一面是,你必须自学所有这些东西,如果你弄错了,它会在你身上崩溃,所以RTFM。核心数据:一旦你拥有了专业知识,那就是天堂,但获得专业知识的途径是一个陡峭的学习曲线。

你想要一个坚持直接使用 sqlite 访问的建议,因为你觉得你可以处理吗?去。

如果你有时间自学 Core Data 是如何工作的,为什么它不是关系数据库等等,去吧,这是值得的,并且会让你的开发人员的生活更轻松。

于 2012-04-14T02:22:28.497 回答
0

虽然它们都是您尝试做的合法应用程序,但 SQLite 和 CoreData 之间的重要区别在于 SQLite 可以是关系型的。如果你需要一个关系表,那么我会说一个开关可以合理化,但如果你有一个简单的非规范化数据收集,你应该可以使用 CoreData。如果为您的 iOS 应用程序设置 SQLite 相对简单,值得一试。

更多信息可以在这里找到:when-to-use-sqlite-instead-of-core-data-on-the-iphone/

于 2012-04-12T20:27:36.590 回答