首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >在managedObjectContext中设置AppDelegate

在managedObjectContext中设置AppDelegate
EN

Stack Overflow用户
提问于 2016-05-24 10:12:51
回答 2查看 2.7K关注 0票数 1

我正在尝试学习核心数据的基础知识,并已经启动了一个单一的视图应用程序,同时拥有一个主细节应用程序的基本模板,并打开了核心数据以供参考。

我被困在通过MasterViewController通过AppDelegate.swift设置我的MasterViewController中。

到目前为止,主细节模板使用的是一个我没有使用的拆分视图,那么我如何使用一个单一视图应用程序来做类似的事情呢?

代码语言:javascript
运行
复制
func application(application: UIApplication, didFinishLaunchingWithOptions launchOptions: [NSObject: AnyObject]?) -> Bool {
    // How to reference MasterViewController???

    controller.managedObjectContext = self.managedObjectContext
    return true
}
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2016-05-24 10:21:54

您可以使用以下代码访问整个应用程序的托管对象上下文。

代码语言:javascript
运行
复制
let managedObjectContext = (UIApplication.sharedApplication().delegate as! AppDelegate).managedObjectContext

这样您就可以删除下面的行。

代码语言:javascript
运行
复制
controller.managedObjectContext = self.managedObjectContext
票数 2
EN

Stack Overflow用户

发布于 2016-05-24 22:40:20

我建议 NSManagedObjectContext传递给适当的视图控制器/s,就像Apple中推荐的那样。这涉及以下步骤:

  • 准备你的核心数据栈;
  • 保留对核心数据栈中准备的NSManagedObjectContext的强烈引用;
  • 在您的(快速)视图控制器文件中包括一个NSManagedObjectContext公共属性;
  • 从堆栈中的引用中设置视图控制器中的公共属性。

苹果文档..。

获取托管对象上下文 In iOS: 按照约定,您可以从视图控制器获得上下文。不过,您必须适当地实现您的应用程序,才能遵循此模式。 实现与核心数据集成的视图控制器时,可以添加NSManagedObjectContext属性。 创建视图控制器时,要传递它应该使用的上下文。您传递一个现有上下文,或者(在希望新控制器管理一组离散编辑的情况下)为其创建一个新的上下文。通常,应用程序委托的责任是创建一个上下文,以传递给显示的第一个视图控制器。 视图控制器通常不应该从全局对象(如应用程序委托)中检索上下文--这使得应用程序体系结构变得僵硬。视图控制器也不应该为自己的使用创建上下文(除非是嵌套上下文)。这可能意味着使用控制器上下文执行的操作不会在其他上下文中注册,因此不同的视图控制器将对数据具有不同的透视图。 但有时,从应用程序、文档或视图控制器以外的其他地方检索上下文更容易或更合适。在基于核心数据的应用程序中可能使用的几个对象保持对托管对象上下文的引用。托管对象本身具有对自己上下文的引用,支持核心数据的各种控制器对象也是如此,例如数组和对象控制器( OS中的NSArrayController和NSObjectController,iOS中的NSFetchedResultsController )。 从这些对象之一检索上下文具有这样的优势,即如果您重新架构您的应用程序,例如使用多个上下文,则您的代码可能仍然有效。例如,如果您有一个托管对象,并且希望创建一个与其相关的新托管对象,则可以向原始对象请求其托管对象上下文,并使用该对象创建新对象。这将确保您创建的新对象与原始对象处于相同的上下文中。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/37410562

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档