我刚开始使用CoreData API并且正在学习一些教程。我得到了存储和检索对象的基础知识,但是无法根据MVC连接所有部分。
我有一个CustomView,我在其中使用CoreAnimation绘制一些内容,包括一些将从NSManagedObject获取字符串的文本层。我从一个基本的CoreData应用程序模板开始,所以在appDelegate中声明了managedObjectContext等,我只是不确定如何从CoreData堆栈中获取数据到视图中。顺便说一下,这都是代码,而不是界面构建器。
所以我的问题是,如果我想以纯MVC方式构建我的应用程序,我应该如何将数据从堆栈中获取到视图中?我应该如何让我的视图访问初始化的NSManagedObjectContext,例如?
我一直在阅读Cocoa Design Patterns,但对于MVC来说,这有点笨拙。我知道它是一个相当普遍的问题,但如果有人可以说,“设置代表,抓住一个指针......”无论它是什么,那都会很棒!
提前致谢!
答案 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;
然后它供你使用。