我正在编写一个涉及核心数据的程序。我为我的上下文和实体创建了一个类变量, 并且我的代码是这样编写的:
class PersistencyManager {
var context : NSManagedObjectContext{
let appDelegate = UIApplication.sharedApplication().delegate as! AppDelegate
let localContext = appDelegate.managedObjectContext
return localContext
}
var userEntity : NSEntityDescription {
let entity = NSEntityDescription.entityForName(EntityNames.User, inManagedObjectContext: context)
return entity!
}
struct EntityNames {
private static let User = "User"
private static let Category = "Category"
}
}
到目前为止一切正常,但我想做的是“懒惰”加载 userEntity
像这样 :
lazy var userEntity : NSEntityDescription = {
let entity = NSEntityDescription.entityForName(EntityNames.User, inManagedObjectContext: context)
return entity!
}()
但是当我这样做时,我收到一个错误:“实例成员 'context' 不能用于类型 'Persistency Manager'”
我究竟做错了什么?我怎样才能实现我的目标?
谢谢!