在iPhone上使用sqlite的正确方法是什么?

时间:2010-05-27 09:12:33

标签: iphone cocoa-touch sqlite

您能否在iPhone上使用sqlite提出一些建议? 在我的应用程序中,我使用sqlite DB来存储所有本地数据。可以使用两种方法在运行时检索这些数据。

1,在初始化阶段将所有数据加载到内存中。 (使用更多内存,需要更少的DB打开/关闭操作)

2,必要时读取相应的记录,使用后释放占用的内存。 (使用内存的好习惯,但需要大量的数据库打开/关闭操作)。

我更喜欢使用方法2,但不确定是否有太多数据库打开/关闭操作会影响应用程序的效率。或者你认为我可以通过在应用程序启动时打开数据库并在应用程序退出时关闭数据库来“升级”方法2吗?

非常感谢您的建议!

2 个答案:

答案 0 :(得分:2)

首先:使用FMDB访问SQLite!

然后,创建自己的单身“MyDB”类。

每次需要数据库时,都会执行[MyDB实例]来获取FMDB实例。

这样你只有一个DB打开(在didFinishLaunching中),当你的应用程序退出时你关闭它。

这是在iPhone上使用SQLite的最佳方式。

另一种选择是使用CoreData,这是我在开始使用空数据库时非常适合的,但如果我有一组只读的数据,FMDB / SQLite最适合我。

答案 1 :(得分:1)

Apple似乎建议您在启动期间避免预加载所有数据,以确保更快,更顺畅的启动。据说你应该只在用户需要时加载数据。