我正在使用Xcode 4.3-如果我试图将用户的位置(纬度和经度)存储在数据库中并将其位置更新到数据库,让我们说他们每走30米,那么使用核心数据还是更好SQLite的?目前我正在使用核心数据,而且我遇到了很多麻烦。我需要决定是否需要进行切换并单独使用SQLite。有什么建议? *注意:用户无需在手机上查看自己的位置数据
答案 0 :(得分:2)
核心数据的“麻烦”表明您对该API不是很熟悉。在iOS上,默认情况下,核心数据使用sqlite作为其数据的底层持久存储,所以在你的情况下,它不是性能和细节问题,而是理解概念。如果您感觉更舒服,并且“在家”直接处理sqlite或使用第三方sqlite objecitive -c包装框架,请坚持下去,完成工作。开箱即用,免费的核心数据是处理数据时的更高抽象级别(基本上是关于对象和谓词,以及将数据绑定到视图的一些帮助程序)和内存管理。不利的一面是,你必须自己解决所有这些问题,如果你弄错了它会在你身上崩溃,所以RTFM。核心数据:一旦掌握了专业知识,它就是天堂,但专业知识的方式是一个陡峭的学习曲线。
你想要一个坚持直接sqlite访问的建议,因为你觉得你可以处理它?去。
如果您有时间自学Core Data的工作原理,为什么它不是关系数据库等,那么,它值得,并且会让您的开发人员的生活变得更加轻松。
答案 1 :(得分:0)
虽然它们都是您尝试做的合法应用程序,但SQLite和CoreData之间的重要区别在于SQLite可以是关系型的。如果你需要一个关系表,那么我会说一个开关可以合理化,但是如果你有一个简单的非规范化数据集合,你应该对CoreData没问题。如果为iOS应用程序设置SQLite的任何事情都相对简单,值得一试。
可在此处找到更多信息:when-to-use-sqlite-instead-of-core-data-on-the-iphone/