【问题标题】:Simple (SQLite-)database framework简单的(SQLite-)数据库框架
【发布时间】:2011-03-08 11:54:16
【问题描述】:

你知道是否有一个简单的数据库框架可以在 iPhone 开发中免费使用?

我试图了解 Apple 的框架 SQLite3-framework,但它太复杂了。为什么不能像 PHP 和数据库一样……

所以基本上,我想要的是一个易于使用且可以处理数据库的框架。

谢谢。

【问题讨论】:

  • Core Data 不能满足您的需求吗?
  • 我不知道如何使用Core Data。有教程吗?
  • Apple 文档始终是最好的起点,但真正深入了解它可能需要更多的努力。另外,它们始终是最新的,而其他教程则不是。链接:developer.apple.com/iphone/library/documentation/DataManagement/…
  • @Emil,尝试在网络上搜索“核心数据教程”......
  • 将此建议作为答案,以免在 cmets 中丢失。

标签: iphone objective-c database sqlite frameworks


【解决方案1】:

Core Data 是 Apple 在 iPhone 上持久化对象的方法。这也是为 OS X 和未来 Apple 技术开发时最常用的数据存储方法,因此值得花时间学习。 Apple Docs(上面链接)是了解这一点的最佳场所,因为它们不容易过时。可以通过您最喜欢的搜索引擎找到其他教程。

除了使持久化变得非常容易之外,它还提供以下好处:

  • 仅在内存中存储您需要的对象,以节省内存使用量
  • 迁移和版本控制支持
  • Xcode 中基于图形的模式编辑器
  • 自动支持撤消/重做

【讨论】:

  • 谢谢 :) 我将使用它,因为 Apple 更支持它。
【解决方案2】:

试试 FMDB。它是 sqlite c API 的简洁包装器。

http://gusmueller.com/blog/archives/2008/03/fmdb_for_iphone.html

【讨论】:

  • 可以,但最好还是使用 Core Data。
  • 我会接受这个,因为这是我在问题中要求的。不过,我想我会改用 Core Data。
  • @bbum 为什么你认为使用 Core Data 会更好?你能解释一下你的看法吗?谢谢!
  • Core Data 具有在 3rd 方代码中无法实现的优化,利用了众多系统 API,并且虽然相当棘手,但具有 iCloud 同步支持(是的,它现在有问题,但他们正在迅速解决)。 FMDB 没有任何问题——它非常好——但相比之下它是一个相对原始的工具。除非你真的需要一个原始的关系持久层,否则 Core Data 可能是一个更好的解决方案。有关更多信息,请参阅@drharris 的答案。
【解决方案3】:

还有PLDatabase

一个 SQL 数据库访问库,用于 Objective-C,最初专注于 SQLite 作为应用程序数据库。这 库支持 Mac OS X 和 iPhone 开发。

【讨论】:

    【解决方案4】:

    适用于 Mac 的 Google 工具箱 http://code.google.com/p/google-toolbox-for-mac/ 还包括一个漂亮的小型 sqlite 包装器,位于 Foundation/GTMSQLite.h 中。它不包含在提供的 iphone .xcodeproj 中,但如果将它及其(次要)依赖项添加到 iphone 项目中,它会编译。两个类:一个数据库句柄和一个准备好的语句/结果集,每个类都有预期的方法。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2011-08-03
      • 1970-01-01
      • 2014-06-24
      • 1970-01-01
      • 2012-01-18
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多