swift - 不能在属性初始值设定项中使用实例成员 'getA';属性初始值设定项在 'self' 可用之前运行

标签 swift class variables swift3

这个问题在这里已经有了答案:





How to initialize properties that depend on each other

(4 个回答)


2年前关闭。




Y 这给出了这个错误 - 不能在属性初始值设定项中使用实例成员“getA”;属性初始值设定项在 'self' 可用之前运行

class A  {

    var asd : String  = getA()

    func getA() -> String {
        return "A"

    }
}

最佳答案

属性初始值设定项在 self 之前运行可用。

解决办法是到lazy initialize属性(property):

class A {
    lazy var asd: String  = getA()

    func getA() -> String {
        return "A"
    }
}

这将在您第一次尝试使用它时初始化该属性。

关于swift - 不能在属性初始值设定项中使用实例成员 'getA';属性初始值设定项在 'self' 可用之前运行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53724345/

相关文章:

ios - 如何在ios中限制下载时间?

java - Java中如何找到给定类的所有子类?

string - Racket 语言:如何将字符串转换为变量名

mysql - Bash Echo 命令在 while 循环中表现异常

ios - 如何识别和排除 UIActivityViewController 中的第 3 方 ActivityType(例如 'Send to Kindle'、 'Chrome')?

ios - 在不同的滑动 View 之间传递 UIPageViewController 中的数据

ios - 隐藏表格中选定的单元格 - Swift4

java - 如何将一个java类分成多个类?

java - 为什么当 grails 项目作为 grails-app 运行时,我的 java 项目中的包无法编译,java 项目引用了 grails 项目

variables - 解析宏变量名称中包含 %eval 的宏,SAS