【问题标题】:Using SQLite on the iPhone: do I have to read the entire database and store it into an array?在 iPhone 上使用 SQLite:我是否必须读取整个数据库并将其存储到数组中?
【发布时间】:2012-01-10 19:43:28
【问题描述】:

您好,我是 iPhone 编程的新手。我一直在网上查看一些关于在 iPhone 上使用 SQLite 的教程。 从我所见,必须在应用程序委托方法中读取整个数据库,然后将内容存储在一个数组中。然后使用它来填充 UITableView。

我想知道这如何有效?我的意思是,如果您要将整个数据库的内容存储在内存中,为什么要有数据库?

这是标准做法吗?

如果我使用 Core Data,我可以设置分页大小,它会优化内存中存储的数据量,并且只读取可见单元格中显示的内容。

无论如何,In 可以使用 SQLite 具有相同的功能吗?所以它很容易记忆。我的意思是我的数据库现在只有 300 个条目,但如果将来有 300 万个呢?

有人能帮我理解一下吗....

是否有任何 SQLite 教程展示了如何以优化的方式进行操作?

谢谢

【问题讨论】:

    标签: iphone sqlite optimization core-data


    【解决方案1】:

    我建议使用 Core Data。它非常强大,比 SQLite 表得到更好的支持,而且不像看起来那么复杂,它只是使用了很多“托管对象”的术语,一开始可能会让人望而生畏。查看CoreDataHelper class 和一些教程。使用我评论中的链接,我能够在几天内(在我的第一个应用程序中)让 Core Data 工作

    如果你熟悉 SQL,Core Data 基本上是这样工作的:Persistent Store 是一个 SQLite 表,但你从不直接访问它; managedObjectContext 是您在程序中进行所有数据工作的地方(不要忘记将其保存到持久存储中!),而实体是表,该实体的属性是您的列,托管对象是行。

    进一步阅读:

    【讨论】:

    • 谢谢大家。但是,我遇到了一个问题,即我有一个预填充的 sqlite 数据库,我想随应用程序一起提供。如何在核心数据中做到这一点?
    • 您绝对可以使用 Core Data 预先填充您的应用程序,this 似乎是一个不错的起点
    • 非常感谢。这让我开始了。
    【解决方案2】:

    这里有一些教程可以帮助你: iPhone Programming Tutorial.

    我建议您考虑使用核心数据而不是 sqlite。

    【讨论】:

    • 谢谢大家。但是,我遇到了一个问题,即我有一个预填充的 sqlite 数据库,我想随应用程序一起提供。如何在核心数据中做到这一点?
    • 我想你可以...这里有一个教程raywenderlich.com/980/…
    猜你喜欢
    • 1970-01-01
    • 2011-10-10
    • 2018-12-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-03-06
    • 2016-10-21
    相关资源
    最近更新 更多