2010-10-05 42 views
2

我正在尝试将Core Data添加到加载RSS提要的新闻形式的应用程序,以便我可以将文章脱机存储。我正在使用ASIHTTP将数据从互联网加载为XML。在通用应用程序中添加核心数据?

我想将文章存储在核心数据中,所以下次启动时我会将它们存储起来。我的AppDelegate_shared已经基于模板为Core Data设置,但我不确定在哪里添加所有其他代码。

我发现a tutorial by Ray Wenderlich,但它只是让我困惑。他的教程假定由通用应用程序模板创建的单个App Delegate文件不是三个。

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

  • 是否有任何教程与较新的应用程序模板设置(3委托文件)处理核心数据?

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

回答

3

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

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

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

最后,我在上个学期的Core Data上课了一节课(并在昨晚完成了另一节课),其中课程笔记可用here,视频可从iTunes U下载。

+0

已下载视频。我打算以后再看。我现在还有其他的事情要处理。 – Moshe 2010-10-07 21:10:59

+0

好的视频。我开始看着它。大约35分钟后,音频会变化。 (我可以得到你的单身人士的副本吗?) – Moshe 2010-10-08 12:51:47

+0

@Moshe - 是的,电池用完了我的无线话筒。我们在几分钟后就抓住了它,所以之后音频恢复正常。可以在SimpleCoreData示例中找到针对Core Data单例的代码,该示例将链接到该会话的类注释中。 – 2010-10-08 13:11:54

3

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

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

相关问题