0

来自非 SQL 背景,过去几天我一直很难吸收 SQLite3。有没有人使用任何 SQLite3 包装器 API 获得任何好的结果?它们工作可靠吗?哪个最好?我还听到有关 Core Data 即将登陆 iPhone 的传闻。不确定这些信息是否值得信赖,但也许你们中的一些人知道:在某个时候会有适用于 iPhone 的 Core Data 吗?

4

4 回答 4

4

FMDB 易于使用,并从您那里抽象出一些 SQLite 的讨厌,但仍然暴露了 SQL。

我在一个项目中使用过它,但将其子类化以添加我自己的部分 OO 层。这种方法的优点是,如果我需要更快的速度或我没有预见到的东西(例如触发器),我可以实现它。使用 Core Data,没有可用的“绕过”,我必须依赖 Core Data 的优化、内存使用等。

另一个区别是 Core Data 将允许您的应用程序完全保持 OO。使用 FMDB 或其他数据库解决方案,您始终与数据库的组织密切相关。这是一个设计决定,而不是您以后可以更改的决定。

于 2009-05-17T03:33:05.493 回答
3

如果你现在才刚刚开始,我会使用 Core Data。

去年我花了一些时间查看当时的各种包装。最后我一个都没用。

我认为 NDA 在我寻找时仍然存在,所以我可能错过了最好的,但我发现大多数都是非常薄的包装纸。出于我的目的,这意味着它添加了一个外部依赖项,并没有节省太多的输入,而且我可能仍然不得不深入使用 sqlite 函数调用,有时无论如何。只是看起来不值得。

于 2009-05-15T09:14:47.187 回答
2

为什么不使用 3.0 SDK 定位 CoreData?

如果出于某种原因您需要支持 2.x,您应该查看SQLitePersistentObject。它很慢并且有一些错误,但它非常易于使用。可悲的是,作者不再积极开发它。

于 2009-05-15T08:39:29.907 回答
1

另外:前段时间,在一个小示例项目(2.x)中,我使用了fmdb。据我记得它很容易使用。但是,它需要 SQL 知识。

于 2009-05-15T10:27:14.000 回答