swift3 – 从ios 10中的ios app widget扩展中的Coredata获取

我试图从我的主应用程序的coredata数据库中获取实体,并在我的应用程序小部件Extention中显示它们.但是,提取始终从我的数据库返回空结果.可以帮助我. Swift 3,ios 10.
我解决了创建应用程序组后,我创建了NSPersistentContainer的子类,并覆盖类方法defaultDirectory()以返回共享应用程序组目录.还要覆盖init(name:String,managedObjectModel model:NSManagedObjectModel).然后在coredata堆栈中,使用创建的PersistentContainer类的新实例替换样板persistent persistentcontainer代码.
import UIKit
import CoreData
class PersistentContainer: NSPersistentContainer{
     override class func defaultDirectoryURL() -> URL{
    return FileManager.default.containerURL(forSecurityApplicationGroupIdentifier: "group.bundleId.SomeApp")!
}

override init(name: String,managedObjectModel model: NSManagedObjectModel) {
    super.init(name: name,managedObjectModel: model)
}
}

然后在CoreDataStack Code *中的任何地方,可以在Appdelegate或其自己的文件中.我的文件名为CoredataStack

static var persistentContainer:PersistentContainer = {
    let container = PersistentContainer(name: "SomeApp",managedObjectModel: CoreDataStack.managedObjectModel)
    container.loadPersistentStores(completionHandler: { (storeDescription:NSPersistentStoreDescription,error:Error?) in
        if let error = error as NSError?{
            fatalError("UnResolved error \(error),\(error.userInfo)")
        }
    })

    return container
}()

希望这会有所帮助

相关文章

软件简介:蓝湖辅助工具,减少移动端开发中控件属性的复制和粘...
现实生活中,我们听到的声音都是时间连续的,我们称为这种信...
前言最近在B站上看到一个漂亮的仙女姐姐跳舞视频,循环看了亿...
【Android App】实战项目之仿抖音的短视频分享App(附源码和...
前言这一篇博客应该是我花时间最多的一次了,从2022年1月底至...
因为我既对接过session、cookie,也对接过JWT,今年因为工作...