我们正在开始在iPhone Enterprise开发人员计划中开发内部应用程序.由于它接近OS 3.0,我们正在重新考虑使用SQLite和使用Core Data的原始设计.这里有更多信息:
我的问题是:什么是核心数据的SQLite上的利益,将利益在这个特定实例什么和做什么好处证明学习一个新的框架,而不是使用现有的SQL较强的技能?
编辑:我刚刚注意到这个问题:核心数据与SQLite 3.我想我的问题是:
我想知道是否有人在旧的sqlite应用程序(已在3.0 SDK中转换为Core Data)之间的性能差异上有任何真实世界数字.
我怀疑在引擎盖下Core Data只是使用sqlite而且为了方便的成本增加了一些开销,但我想我还是会问.
coredata和sqlite之间的基本区别是什么,因为它们都是数据库,可以与IOS开发一起使用.并告诉我哪个更适合保存和恢复大数据
从现在开始应该使用核心数据作为带有sqlite单表数据库的小型iphone应用程序的包装器吗?
从现在开始使用它是不必要地使事情变得复杂还是好的做法?
我正在开发一个大量使用Core Data的iPhone应用程序,主要用于类似数据库的功能(例如能够在获取请求上设置排序顺序或谓词).我将呈现我在各种UITableViewControllers中获取的所有数据.
我想知道的是,在使用NSFetchedResultsController处理请求成为一个好主意之前,我可以获取多少个对象.在Core Data文档中,它表示SQLite存储区认为"10,000个对象是一个相当小的数据集",但在NSFetchedResultsController的文档中,它提到了一次在内存中保留"数十个对象".
我主要处理多达50个对象的数据集,每个对象可能有十几个NSNumber和NSString实例,以及下一组对象的一对多关系(即对象A有20个实例) ,每个都与一组三十个(不同的)对象B实例具有多对多的关系,每个实例都是......).
这种情况是否适合使用NSFetchedResultsController,或者我可以使用简单的NSArray结果?我没有管理控制器细节的问题(获取UITableView索引路径的对象的便捷方法,将新对象添加回上下文等)我自己,我只是想知道内存使用情况每种方法.
我应该提到该应用程序将主要针对iPhone 3G(而不是S)和第一代iPod Touch用户,因此请记住这些平台的有限内存.
基本上,我正在编写一个iOS应用程序,它使用了一个根本不会被编辑的庞大数据库.在这两者之间,我正在寻找更快的查询速度.我在开发过程中从未使用任何SQLite或核心数据,因此在我开始编写任何内容之前,我想找出哪些(或者如果有任何替代方案)对我的任务更好.
任何表现数据或建议将不胜感激.
编辑: SQLite和Core Data都无法提供我所需的性能(尽管SQLite表现更好).我决定使用SQLite(使用FMDB)并使用多线程来消除多次查询时出现的断断续续现象.
我是SQLite和iOS的新手.我正在学习如何在iOS中使用SQLite的基本教程:
http://www.switchonthecode.com/tutorials/using-sqlite-on-the-iphone#comment-11617
在上面的链接中,他们将数据库指定为:
sqlite3 *database;
int result = sqlite3_open("/myExampleDatabase.db", &database);
Run Code Online (Sandbox Code Playgroud)
但是当我使用上面的代码替换我的数据库名称时,我得到了后续alertview中指定的错误.
我的问题是,我是否必须将数据库文件添加到我的资源文件夹中?如果没有,我是否必须将我的数据库文件放在iOS可访问的地方?
我一直在想节约使用字典和数组等等,岂不是更有效地使用数据库,只是读取和写入到它,而不是通过阵列运行,得到键和值,等等等等的数据?它需要包含很多文本.
如何在iphone上设置和使用数据库?
此外,如果在应用程序运行时期间写入数据库,它会存储吗?我的意思是不需要序列化等等?
我知道使用Coredata和Direct Sql命令在制作本地存储时用于iOS的区别.但仍然可以任何人建议哪一个更好,更有效和优化,并可以使用大数据?呼叫如何与它们一起工作?Coredata也有与之交互的背景,所以有没有增加打电话的速度?非常感谢你的帮助.
core-data ×8
iphone ×8
sqlite ×8
cocoa-touch ×3
ios ×3
cocoa ×1
ipad ×1
macos ×1
objective-c ×1