无法在属性初始化程序中使用实例成员'getA';属性初始化程序在“自我”可用之前运行 [英] Cannot use instance member 'getA' within property initializer; property initializers run before 'self' is available
本文介绍了无法在属性初始化程序中使用实例成员'getA';属性初始化程序在“自我”可用之前运行的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
是,这会导致此错误-无法在属性初始化程序中使用实例成员 getA;属性初始值设定项在自我可用之前运行
Y this giving this error - Cannot use instance member 'getA' within property initializer; property initializers run before 'self' is available
class A {
var asd : String = getA()
func getA() -> String {
return "A"
}
}
推荐答案
在自身
可用之前运行属性初始化程序。
Property initializer run before self
is available.
解决方案是惰性初始化
属性:
class A {
lazy var asd: String = getA()
func getA() -> String {
return "A"
}
}
会在您第一次尝试使用该属性时对其进行初始化。
That will initialize the property first time you are trying to use it.
这篇关于无法在属性初始化程序中使用实例成员'getA';属性初始化程序在“自我”可用之前运行的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文