2013-01-24 45 views
0

我想制作一些将数据存储在设备中的应用程序。对象C(iPhone开发)/ sqlLite和文件系统的区别

所以我想使用一些存储。但有两种方法可以存储我的数据。

第一个是通过XML结构将它们保存到文件系统,另一个是通过使用sqlLite库。但我不知道。因为我不知道他们每个人的优点和缺点。例如存储数据的位置,以及哪一个更快地获得我想要的数据。我只是存储文本数据。所以请推荐哪一个更好。

对不起我的英语水平。谢谢!

+1

sqlite是一个数据库驱动的存储,所以搜索一般会更快,而文件系统对结构化程度较低的数据更有用......您能详细说明一点吗(例如,提供关于您正在存储的数据的更多信息)? –

+0

如果您需要在Mac OS X或iOS中处理大量数据,那么XML就没什么意义了。 XML是Windows必须的,而不是Mac OS X和iOS必须的。如果您知道只有几百或几千条记录,则可以使用XML。 –

回答

1

SQLite !!!毫无疑问。

为了便于维护,查询功能和更多。

SQLite具有数据库引擎的基本功能,它是轻量级的。专为移动平台而设计。所以像数据库中的正则表达式等一些功能不包括在内。

文件和数据库。总是喜欢去数据库。

+0

+1,两者的比较中都没有参数。 –

+0

@AKV:感谢评论:) –

0

DATABASE ALWAYS ...

至于你说的SQLite是一个选项,您可以直接与iOS使用SQLite。但我希望你已经听说Core data,这是一个更高层次的包装,使数据库更容易。

但有数据库和文件之间没有比较

0

这将是Perfect回答你的问题,并针对iOS我会建议SQLite的将是最好的一个,因为它在一个文件中的一切, 性能损失较低随着缓存变得越来越大,它比XML更快

0

这取决于您要存储的数据量(及其结构和复杂度)。对于相当小的数量,不超过记录或两个记录,我会使用NSDictionary以及随附的加载和保存方法。顺便说一句,这些持久性存储将以XML形式存在。

对于更多数据或相当复杂的数据,特别是当您不需要同时加载所有数据时,那么您应该选择数据库解决方案。这应该是sqlite。或者你可以选择(默认情况下)基于sqlite的核心数据。

我会建议核心数据(除非你的目标是像android这样的可移植性)。你将不得不投资学习核心数据。从开始看起来可能会引起混淆。但一旦你开始使用它,你一定会发现核心数据非常方便。当你使用本地sqlite时,你需要手动处理很多工作。