我有一个数据库,我的小部件必须从中读取一些数据。我已将成员资格目标设置为应用程序和窗口小部件的所有相关文件。但是有一个问题。
我在主应用程序中有一个帮助类 ,只要我对数据库执行某些操作,它就会获取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
}
在我将目标成员身份添加到窗口小部件后,我收到此错误:Use of undeclared type 'AppDelegate'
。这是有道理的,但我不知道如何解决它。你能帮我吗?
PS:我也注意到我也得到了这个错误:Use of unresolved identifier 'NSFetchRequest'
。我究竟做错了什么?这肯定不是这样做的方法......