【问题标题】:Storing words for ios offline flashcard app为ios离线抽认卡应用程序存储单词
【发布时间】:2014-01-07 16:53:16
【问题描述】:

我正在尝试构建一个需要将单词和定义存储在设备上的某个位置的抽认卡应用程序。存储此信息的正确/最佳方式是什么?我已经阅读了有关预填充核心数据的方法,但我阅读的解决方案似乎是 hacks。这似乎是许多应用程序都需要的基本功能,所以我在这里遗漏了什么吗?

【问题讨论】:

    标签: ios objective-c core-data


    【解决方案1】:

    Core Data 是通往这里的道路。预先填充持久存储并将其包含在您的应用程序包中并没有什么不妥。

    【讨论】:

    • 在阅读 plists 之后,我认为 Core Data 是要走的路。我需要存储相当多的数据,绝对超过 plist 推荐的最大 2MB。
    【解决方案2】:

    对于抽认卡应用来说,Core Data 似乎有点过头了。我可能只是将内容保存到 plist 中。此内容是只读的,还是需要在运行时更新?

    如果您需要更新它,您可以在启动时复制检查文档目录中的 plist,如果它不存在,请将其从捆绑包复制到文档目录中。您也可以对 Core Data 数据库使用相同的方法,但除非您熟悉 Core Data,否则学习它的学习曲线对于像抽认卡应用这样简单的东西可能不值得。

    【讨论】:

    • Core Data 是如何过度杀伤的? plist 当然不是内存效率高的事情。如果有任何变化,为什么要筛选整个数据?
    • @Mundi,就努力而言,我的意思是矫枉过正。 Core Data 很难理解。如果您已经爬上了学习曲线并且精通它,那么一定要使用它,但是对于抽认卡应用程序,您有一个平面的静态数据库。您不需要 SQL 查询、索引搜索、连接、KVO 更新或任何其他操作,因此 Core Data 的功能并没有真正发挥作用。
    • 没错,但 Core Data 也可以非常简单。很可能他必须记录有关查看的闪存卡的一些内容,因此它不是静态的。我们也不应该对数据负载做出任何假设。
    猜你喜欢
    • 2017-12-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-10-05
    相关资源
    最近更新 更多