首页 > 解决方案 > 如何在不出错的情况下创建惰性属性?

问题描述

试图掌握创建lazy class属性的窍门。有时它可以工作,有时我会出错,我不确定我是否理解什么时候可以这样做,什么时候不可以。例如,我创建了这个:

lazy var backgroundContext: NSManagedObjectContext = {
    return self.persistentContainer.newBackgroundContext()
}()

创造奇迹,没有错误。然后我尝试了一个获取core data

lazy var fetchCoreData: [LocalDoorCoreDataObject] = { return coreDataHandler.fetchAll(fetchRequest: NSFetchRequest<LocalDoorCoreDataObject>(entityName: "LocalDoorCoreDataObject") }()

据我所见,我使用完全相同的格式,但仍然出现错误

预期,分隔符

列表表达式中的预期表达式

我想有一些原因我不允许对core data房产这样做,但我不确定是什么。我错过了什么?

标签: iosswiftpropertieslazy-initialization

解决方案


推荐阅读