AppDelegate 类型 var 不是成员,除非在 func 中(见图)

Posted

技术标签:

【中文标题】AppDelegate 类型 var 不是成员,除非在 func 中(见图)【英文标题】:AppDelegate type var is not member unless in func (see pictures) 【发布时间】:2014-11-08 03:49:02 【问题描述】:

我刚开始使用 Swift,有一些 Objective-C 背景...不管怎样,为什么当我这样做的时候:

我得到一个错误,但是当我把它放在一个类似的函数中时:

没有错误?

另外,有人可以更正我的条款吗? appDel 是引用还是变量?在此先感谢 - 请编辑或告诉我我的问题有什么问题:)

【问题讨论】:

【参考方案1】:

设置默认值时无法访问self

lazy 属性标记它可以解决问题:

lazy var context: NSManagedObjectContext = self.appDel.managedObjectContext

【讨论】:

哇,谢谢!那么lazy 是否只在需要时才启动它?为什么我需要使用自我? appDel 不是已经声明了吗? 是的,直到第一次使用时才计算。 lazy var context: NSManagedObjectContext = self.appDel.managedObjectContext 暗示 lazy var context: NSManagedObjectContext = return self.appDel.managedObjectContext () 并且 Swift 要求我们在闭包中显式使用 self

以上是关于AppDelegate 类型 var 不是成员,除非在 func 中(见图)的主要内容,如果未能解决你的问题,请参考以下文章

AppDelegate 类型的值没有成员 managedObjectContext

错误:“AppDelegate?”类型的值没有成员“在场”

“AppDelegate”类型的值没有成员“manageObjectContext”

“AppDelegate”类型的IOS开发值没有成员“managedObjectContext”Xcode 10

Swift:实现快捷方式项目(3D 触摸)共享项目错误“AppDelegate 类型的值没有当前成员”

“FileManager”类型的值没有成员“urlsForDirectory”-AppDelegate Swift 3 错误