我正在编写一个涉及核心数据的程序。我为我创建了一个类变量context and 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“加载用户实体
像这样 :
lazy var userEntity : NSEntityDescription = {
let entity = NSEntityDescription.entityForName(EntityNames.User, inManagedObjectContext: context)
return entity!
}()
但是当我这样做时,我收到一个错误:“实例成员‘上下文’不能用于类型‘持久性管理器’”
我究竟做错了什么?我怎样才能实现我的目标?
谢谢你!
Try let entity = NSEntityDescription.entityForName(EntityNames.User, inManagedObjectContext: self.context)
注意我正在使用self.context
而不仅仅是context
。这是为我在操场上建造的。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)