Ios 在应用程序和Swift中的today extension之间共享核心数据数据库

Ios 在应用程序和Swift中的today extension之间共享核心数据数据库,ios,widget,Ios,Widget,我有一个数据库,我的小部件必须从中读取一些数据。我已经将会员目标设置为应用程序和小部件的所有相关文件。但是有一个问题 我的主应用程序中有一个helper类,每当我对数据库执行某些操作时,它都会获取AppDelegate上下文。代码如下所示: class func getEntityAndContext(name:String) -> (entity:NSEntityDescription, context: NSManagedObjectContext){ var appDel:A

我有一个数据库,我的小部件必须从中读取一些数据。我已经将会员目标设置为应用程序和小部件的所有相关文件。但是有一个问题

我的主应用程序中有一个helper类,每当我对数据库执行某些操作时,它都会获取AppDelegate上下文。代码如下所示:

class func getEntityAndContext(name:String) -> (entity:NSEntityDescription, context: NSManagedObjectContext){
    var appDel:AppDelegate = UIApplication.sharedApplication().delegate as AppDelegate
    let context:NSManagedObjectContext = appDel.managedObjectContext!
    let entity:NSEntityDescription = NSEntityDescription.entityForName(name, inManagedObjectContext: context)!
    return (entity, context)
}
这种方法在以下情况下对我有帮助:

class func getAll() -> Array<City>{
        let (_, context) = NSManagedObjectWrapper.getEntityAndContext("City")
        let req = NSFetchRequest(entityName: "City")
        req.sortDescriptors = [NSSortDescriptor(key: "order", ascending: true)]
        let citiesList:Array<City> = context.executeFetchRequest(req, error: nil)! as Array<City>
        return citiesList
    }
class func getAll()->数组{
let(u,context)=NSManagedObjectWrapper.getEntityAndContext(“城市”)
let req=NSFetchRequest(entityName:“城市”)
req.sortDescriptors=[NSSortDescriptor(键:“顺序”,升序:true)]
让citiesList:Array=context.executeFetchRequest(请求,错误:nil)!作为数组
返回城市列表
}
将目标成员身份添加到小部件后,出现以下错误:
使用未声明的类型“AppDelegate”
。这是有道理的,但我不知道如何修复它。你能帮帮我吗

PS:我还注意到我也遇到了这个错误:
使用未解析的标识符“NSFetchRequest”
。我做错了什么?这肯定不是解决问题的办法……

我在这里找到了答案:


这个git项目展示了如何在小部件中使用核心数据。

有人有什么建议吗?我试过这个例子,但我得到了“无法创建一个URL为零的SQL存储”