代码之家  ›  专栏  ›  技术社区  ›  Hauke

在iPhone上使用CoreData或SQLite?[闭门]

  •  51
  • Hauke  · 技术社区  · 17 年前

    由于CoreData已在OS 3.0中用于iPhone,它是否意味着要解决数据持久性问题并取代所有直接访问的需求 SQLite

    还有什么理由可以继续使用 数据库 数据库 vs。 CoreData ?

    3 回复  |  直到 9 年前
        1
  •  62
  •   Community Mohan Dere    9 年前

    这是一个常见的问题:

    performance benefits ,尤其是在iPhone上。尽管这看起来有悖常理,但考虑到您认为该框架有多大的开销,在大多数情况下,您可以使用核心数据击败手动调优的SQLite。在iPhone上,它在批处理回迁以最小化内存使用方面做得很好。

    正如所指出的,一个缺点是,这限制了您的最终用户对iPhone OS 3.0的需求。然而,对于我的用户来说,这根本不是一个问题,今后只会越来越少。

        2
  •  11
  •   Mark Rushakoff    17 年前

    这可能是一个较小的好处,但SQLite在平台之间的可移植性要高得多,因为核心数据是Cocoa的一部分,而SQLite是纯C。这意味着,如果您想将应用程序移植到PC,例如,如果您使用纯SQLite,您将有更少的代码需要重写。

        3
  •  2
  •   Pieter Jongsma    17 年前

    如果您希望应用程序在不运行OS 3.0的iPhone上运行,则必须使用SQLite。

    然而,使用CoreData(我相信它使用SQLite作为后端)意味着您不必编写自己的数据库交互代码,这是一件非常麻烦的事情,尤其是在处理关系等时。

    我自己使用CoreData。。。