NSFetchRequest数据进入视图?

时间:2010-12-28 11:08:59

标签: core-data nsmanagedobject nsmanagedobjectcontext

我刚开始使用CoreData API并且正在学习一些教程。我得到了存储和检索对象的基础知识,但是无法根据MVC连接所有部分。

我有一个CustomView,我在其中使用CoreAnimation绘制一些内容,包括一些将从NSManagedObject获取字符串的文本层。我从一个基本的CoreData应用程序模板开始,所以在appDelegate中声明了managedObjectContext等,我只是不确定如何从CoreData堆栈中获取数据到视图中。顺便说一下,这都是代码,而不是界面构建器。

所以我的问题是,如果我想以纯MVC方式构建我的应用程序,我应该如何将数据从堆栈中获取到视图中?我应该如何让我的视图访问初始化的NSManagedObjectContext,例如?

我一直在阅读Cocoa Design Patterns,但对于MVC来说,这有点笨拙。我知道它是一个相当普遍的问题,但如果有人可以说,“设置代表,抓住一个指针......”无论它是什么,那都会很棒!

提前致谢!

2 个答案:

答案 0 :(得分:0)

所以我做了一些更多的讨论,似乎最简单的方法是获取一个指向AppDelegate的指针,然后指向一个指向managedObjectContext的指针。从那里,执行获取请求并将其放入您的视图中!

答案 1 :(得分:0)

在一个好的教程Björn Sållarp中这样做:

从app委托创建rootViewController并向其发送上下文:

RootViewController *rootViewController = [[RootViewController alloc] initWithStyle:UITableViewStylePlain];

rootViewController.managedObjectContext = context;
rootViewController.entityName = @"Counties"; 

在rootViewController的h文件中声明:

NSManagedObjectContext *managedObjectContext;

创建其属性:

@property (nonatomic, retain) NSManagedObjectContext *managedObjectContext;

在你身上

@synthesize managedObjectContext;

然后它供你使用。