在通用应用中添加核心数据?

时间:2010-10-05 22:06:58

标签: iphone objective-c core-data

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

我想将这些文章存储在Core Data中,以便我下次开始使用它们。我的AppDelegate_shared已根据模板设置为Core Data,但我不确定在何处添加所有其余代码。

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

  • 我的三个AppDelegate文件(特定于共享,iPhone和iPad)的核心数据文章条目代码在哪里?

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

  • 如何将我的核心数据读入UITableView?

2 个答案:

答案 0 :(得分:3)

核心数据内容属于共享appdelegate。因为其他两个appdelegates只是共享的子类。

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

答案 1 :(得分:3)

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

另一种解决方法可能是创建一个用于管理Core Data访问的单例。有关人们使用的其他可能配置及其原因,请参阅this question

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

最后,我上学期开设了一个关于核心数据的课程(并在昨晚完成了另一个课程),课程笔记可用here,视频可以从iTunes U下载。