【发布时间】:2016-05-04 20:08:51
【问题描述】:
我正在编写一个涉及核心数据的程序。我为我的 context 和 entity 创建了一个类变量,并且我的代码是这样写的:
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"
}
}
到目前为止一切正常,但我想做的是“lazy”加载 userEntity
像这样:
lazy var userEntity : NSEntityDescription = {
let entity = NSEntityDescription.entityForName(EntityNames.User, inManagedObjectContext: context)
return entity!
}()
但是当我这样做时,我得到一个错误:“Instance member 'context' cannot be used on type 'Persistency Manager'”
我做错了什么?我怎样才能实现我的目标?
谢谢!
【问题讨论】:
标签: swift core-data computed-properties