“AppDelegate”类型的值没有成员“manageObjectContext”

Posted

技术标签:

【中文标题】“AppDelegate”类型的值没有成员“manageObjectContext”【英文标题】:Value of type 'AppDelegate' has no member 'manageObjectContext' 【发布时间】:2017-02-26 11:48:11 【问题描述】:

我想在 Swift 3 中为 ios 应用程序的 TableView 中的 CoreData 打印数据。

在 ListTableViewController 文件中,我有这段代码:

    override func viewDidAppear(_ animated: Bool) 
    let appDel: AppDelegate = UIApplication.shared.delegate as! AppDelegate
    let managedObjectContext = appDel.persistentContainer.viewContext
    let contxt :NSManagedObjectContext = appDel.managedObjectContext!

    let freq = NSFetchRequest<NSFetchRequestResult>(entityName:"Location")


    tableView.reloadData()

在 let 上下文行,我有一个错误:“'AppDelegate' 类型的值没有成员 'manageObjectContext'”

你知道我的问题吗?

谢谢

【问题讨论】:

appDel.managedObjectContext! 应该只是 managedObjectContext!,不是吗? 即使没有!,只需let contxt : NSManagedObjectContext = managedObjectContext,因为它不是可选的 【参考方案1】:

错误表明您没有为 Appdeleget 中的变量名 managedObjectContext 分配任何值。首先,您必须定义一个变量,然后将一个 ManagedObjectContext 对象分配给它。但是您也可以通过以下代码获取 ManagedObjectContext 对象引用。

let managedObjectContext = appDel.persistentContainer.viewContext as! NSManagedObjectContext
let contxt = managedObjectContext

【讨论】:

但持久化容器适用于 iOS 10.0,那么 iOS 9.0 呢

以上是关于“AppDelegate”类型的值没有成员“manageObjectContext”的主要内容,如果未能解决你的问题,请参考以下文章

“AppDelegate”类型的值没有成员“manageObjectContext”

Swift:实现快捷方式项目(3D 触摸)共享项目错误“AppDelegate 类型的值没有当前成员”

“FileManager”类型的值没有成员“urlsForDirectory”-AppDelegate Swift 3 错误

“AppDelegate”类型的IOS开发值没有成员“managedObjectContext”Xcode 10

AppDelegate 类型 var 不是成员,除非在 func 中(见图)

静态成员“负载”不能用于“AppDelegate”类型的实例