Ios 为什么我会得到一个类没有的错误';如果NSManagedObject属性明显存在,则它不具有NSManagedObject属性?
我有一个Ios 为什么我会得到一个类没有的错误';如果NSManagedObject属性明显存在,则它不具有NSManagedObject属性?,ios,core-data,swift,nsfetchedresultscontroller,nsmanagedobjectcontext,Ios,Core Data,Swift,Nsfetchedresultscontroller,Nsmanagedobjectcontext,我有一个UIViewController子类,MyViewController,它有一个nsfetchedresultscoontroller和一个NSManagedObjectContext。但是当我去创建NSFetchedResultsController时,它说我在MyViewController上没有managedObjectContext属性 var managedObjectContext: NSManagedObjectContext! var fetchedResultsCont
UIViewController
子类,MyViewController
,它有一个nsfetchedresultscoontroller
和一个NSManagedObjectContext
。但是当我去创建NSFetchedResultsController
时,它说我在MyViewController
上没有managedObjectContext属性
var managedObjectContext: NSManagedObjectContext!
var fetchedResultsController: NSFetchedResultsController = {
let fetchRequest = NSFetchRequest()
let entity = NSEntityDescription.entityForName("Post", inManagedObjectContext: self.managedObjectContext)
fetchRequest.entity = entity
fetchRequest.fetchBatchSize = 50
}()
我不是很清楚在它前面声明了managedObjectContext变量吗?我做错了什么?属性的初始值设定项不能引用同一个属性中的其他属性 类,除非将其声明为惰性计算属性 您还忘记了从闭包返回获取的结果控制器
var managedObjectContext: NSManagedObjectContext!
lazy var fetchedResultsController: NSFetchedResultsController = {
let fetchRequest = NSFetchRequest()
let entity = NSEntityDescription.entityForName("Post", inManagedObjectContext: self.managedObjectContext)
fetchRequest.entity = entity
fetchRequest.fetchBatchSize = 50
let fetchedResultsController = NSFetchedResultsController(fetchRequest: fetchRequest, managedObjectContext: self.managedObjectContext, sectionNameKeyPath: nil, cacheName: nil)
return fetchedResultsController
}()
惰性变量的差异从根本上会产生什么影响?@DougSmith:惰性变量在第一次访问时初始化,而不是在创建类实例时初始化。但这很好,使用默认Xcode模板创建的核心数据应用程序也使用相同的模式。