【问题标题】:Using CoreData along with a bundled SQLite database?将 CoreData 与捆绑的 SQLite 数据库一起使用?
【发布时间】:2015-09-02 08:40:16
【问题描述】:

我是 iOS 开发团队的新手,所以现在我遇到了一些问题。我想创建一个使用数据库向用户返回一些信息的应用程序。为此,我在项目中添加了一个 SQLite 数据库并使用了它 (https://github.com/stephencelis/SQLite.swift)。

现在我想向应用程序添加一个新功能,让用户可以添加一些书签来保存一些信息。为此,我需要更新数据库,这引起了我的一些主要担忧:如何在不覆盖用户书签的情况下更新应用程序?如果用户在第三次更新之前跳过了两次更新会发生什么?如您所见,这可能会变成巨大的痛苦。

所以我正在考虑将这个捆绑的 SQLite 数据库仅用作只读数据库,并与它一起使用 CoreData 来存储用户的书签。你怎么看?这是正确的方法吗?

【问题讨论】:

    标签: ios swift core-data


    【解决方案1】:

    如您所知,核心数据是与您的应用程序一起使用的持久数据。好吧,我仍然无法理解维护 SQLite 数据库的问题,但如果这是一个问题,那么我认为核心数据不会解决它。将核心数据与 SQLite 数据库一起明确地不改变数据库,而只是“记住”核心数据中的书签并从 SQLite 中获取它们可能会奏效。这是您面临的概念问题。

    【讨论】:

    • 我的主要问题在于更新应用程序。想象一下,我需要修改数据库中的某些内容。我对此没有任何经验,但此更新不会覆盖用户的本地数据库吗?如果是这样,这意味着他所有的书签都将被删除。
    • 服务器端的应用程序数据库?\
    • 想更具体一点吗?我不太明白这个问题。 (对不起,我是初学者)
    • 您的数据库是否仅用于手机的本地数据库。或者您的应用程序正在连接到服务器以获取数据并将其存储在本地?
    • 我只为手机使用本地预填充数据库。我正在考虑使用 Parse.com,但我想让我的项目尽可能简单,以便专注于学习基础知识。
    【解决方案2】:

    CoreData 是一个很棒的框架,但它不是微不足道的,它增加了您的项目可能不需要的复杂性。

    如果书签不是很多数据,您可以将它们存储在 NSUserDefaults 中。

    这个例子很有用: (http://ios-blog.co.uk/tutorials/quick-tips/storing-data-with-nsuserdefaults/)

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-05-12
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多