当前位置: 首页 > 面试题库 >

如何在Xcode 8中使用Swift 3创建managedObjectContext?

缪茂勋
2023-03-14
问题内容

面临的问题“ AppDelegate类型的值没有成员’managedObjectContext’在尝试在View
Controller中创建新上下文时,在新的Xcode 8(使用Swift 3,iOS 10)中

let context = (UIApplication.shared().delegate as! AppDelegate).managedObjectContext

在Xcode
8中,AppDelegate.swift文件中没有ManagedObjectContext的代码。AppDelegate.swift内部的核心数据堆栈代码仅通过以下方式呈现:lazy
varpersistentContainer:NSPersistentContainer属性和func
saveContext()。没有managedObjectContext属性。

如何使用Xcode 8中的Swift 3创建managedObjectContext,或者也许不需要使用Swift 3来创建它?


问题答案:

在Swift3中,您可以通过viewContext访问managedObjectContext,如下所示:

let context = (UIApplication.shared.delegate as! AppDelegate).persistentContainer.viewContext

如果在创建项目时启用了核心数据,则此选项可用。但是,对于要包含核心数据的现有项目,请完成添加核心数据的常规过程,并添加以下代码,这将使您获得

lazy var persistentContainer: NSPersistentContainer = {

    let container = NSPersistentContainer(name: "you_model_file_name")
    container.loadPersistentStores(completionHandler: { (storeDescription, error) in
        if let error = error {

            fatalError("Unresolved error \(error), \(error.userInfo)")
        }
    })
    return container
}()

您将需要导入CoreData。

注意:对于Swift3,ManagedObject子类是自动生成的。从WWDC
2016
了解更多



 类似资料:
  • 问题内容: 仅供参考:我是Swift的新手,所以这可能是一个非常简单的问题,但我 无法弄清楚。 我一直在关注 使用Xcode 8 beta和Swift 3 的《开始开发iOS应用程序 (Swift) 教程》。 我将Tap Gesture Recognizer附加到了Image View,然后 在ViewController.swift中添加了此操作: 在图像 视图上轻按以调用selectImage

  • 问题内容: 已在Swift3中弃用。任何人都可以提供一些示例来说明尝试打开URL时替换的工作方式吗? 问题答案: 所有你需要的是:

  • 我想用PHP在MySQL数据库中创建一个表。这是我的尝试: 但这给了我一个错误 我搜索了很多,但没有找到成功的解决方案。有人有主意吗?

  • 我正在用javafx设计一个独立的应用程序(带有scenebuilder 8的FXML),现在我需要在FXML中创建一个CheckBoxTreeItem(查看下图)。 方格树 在搜索时,我得到了一个链接“https://docs.oracle.com/javase/8/scene-builder-2/user-guide/library-panel.htm这有助于我将定制的CheckBoxTree

  • 我试图创建一个数据网格——或者在angular2中用JSON对象创建一个表格。我的问题是我不知道表中有多少列,也不知道这些列的名称。 从我目前的理解我需要定义世界卫生大会 也许一个例子会让事情变得更清楚。。。 下面是我需要在同一个表中呈现的两个JSON示例... 示例1 示例 2 这里有我的组件… 表格: 应用程序字段映射行: 注意:这是我卡住的地方! 我如何创建正确的数量的细胞和h 我没能找到任

  • 我想在我的游戏日期控制器中使用find_or_create方法。当参数在game_date_params时,我不知道如何在创建动作中使用该方法。任何建议如何从game_date_params中提取日期? 这是POST操作的输出: 2016-04-01 10:21:44 0200开始POST“/game_dates”127.0.0.1由GameDatesController#创建为HTML参数:{“

  • 我试图创建一个简单的表,但它给了我一个错误: 剧本: 我想不出这个问题,有人能帮忙吗?

  • 问题内容: 如何使用Python在Linux中创建用户?我的意思是,我了解子流程模块,并考虑过调用“ adduser”并立即传递所有参数,但是“ adduser”命令会询问一些问题,例如密码,全名,电话和其他东西。我将如何使用子流程回答这个问题?我在以下问题中看到了名为pexpect的模块:我可以将Python用作Bash的替代品吗?。还有其他标准模块吗? 问题答案: 使用,它不会提出任何问题,但