【问题标题】:Adding Core Data in Universal app?在通用应用程序中添加核心数据?
【发布时间】:2011-04-21 13:18:32
【问题描述】:

我正在尝试将 Core Data 添加到加载 RSS 提要的新闻形式的应用程序中,以便我可以离线存储文章。我正在使用 ASIHTTP 将 Internet 上的数据作为 XML 加载。

我想将文章存储在 Core Data 中,以便下次开始时拥有它们。我的 AppDelegate_shared 已经根据模板为 Core Data 设置好了,但我不确定在哪里添加所有其余代码。

我找到了a tutorial by Ray Wenderlich,但这只会让我感到困惑。他的教程假定通用应用模板创建的只有一个 App Delegate 文件,而不是三个。

  • 我的核心数据文章条目代码在我的三个 AppDelegate 文件(共享文件、iPhone 和 iPad 特定文件)中的什么位置?

  • 是否有任何教程使用较新的应用模板设置(3 个委托文件)处理 Core Data?

  • 如何将核心数据读出到 UITableView 中?

【问题讨论】:

    标签: iphone objective-c core-data


    【解决方案1】:

    Core Data 堆栈只需要在启动时在一个共享位置创建。您仍然可以拥有三个不同的应用程序委托,只要所有三个调用相同的设置例程即可。这可以通过使您拥有的所有三个应用程序委托成为处理此设置的一个基本应用程序委托的子类来完成。

    解决此问题的另一种方法可能是创建一个单例来管理您的核心数据访问。请参阅this question 了解人们使用过的其他潜在配置,以及使用它们的原因。

    至于如何使用 Core Data 数据库中的数据填充表视图,您需要使用 NSFetchedResultsController。它使在 iOS 上显示和更新表格视图变得简单。 Jeff LaMarche 有一些 good template code 来处理这个问题,并且在创建一个新的基于导航的 Core Data iPhone 应用程序时生成的示例应用程序显示了这一点。

    最后,我上学期教了一门 Core Data 课程(昨晚又完成了另一门课程),课程笔记可在here 获取,视频可从iTunes U 下载。

    【讨论】:

    • 下载了视频。我打算以后再看。我现在还有其他事情要做。
    • 不错的视频。我开始看它。大约 35 分钟后,音频发生了变化。 (我可以得到一份你的单身人士的副本吗?)
    • @Moshe - 是的,我的无线麦克风电池没电了。我们在几分钟后捕捉到了它,所以之后音频恢复正常。 Core Data 单例的代码可以在 SimpleCoreData 示例中找到,我在该会话的课堂笔记中链接到该示例。
    • 您的课程是赢家。我已经从 iTunes U 下载了整个内容。谢谢,继续努力!
    【解决方案2】:

    核心数据的东西属于共享的 appdelegate。因为其他两个 appdelegate 只是共享的一个子类。

    为什么不使用 coredata 创建一个新的通用项目并看看它是如何完成的?要查看数据是如何输入到 tableview 中的,您可以使用 coredata 创建一个基于导航的项目,并查看它是如何在其中完成的。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2016-12-01
      • 2010-12-11
      • 2012-04-09
      • 2021-02-14
      • 2010-12-04
      • 1970-01-01
      • 1970-01-01
      • 2011-01-16
      相关资源
      最近更新 更多