gpt4 book ai didi

swift - 延迟加载变量错误

转载 作者:搜寻专家 更新时间:2023-11-01 07:27:27 24 4
gpt4 key购买 nike

我正在编写一个涉及核心数据的程序。我为我的 contextentity 创建了一个类变量,我的代码是这样写的:

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’不能用于类型‘持久性管理器’”

我做错了什么?我怎样才能实现我的目标?

谢谢!

最佳答案

尝试 let entity = NSEntityDescription.entityForName(EntityNames.User, inManagedObjectContext: self.context)

请注意,我使用的是 self.context 而不仅仅是 context。这是在 Playground 上为我 build 的。

关于swift - 延迟加载变量错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35044730/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com