小编Raf*_*alK的帖子

属性初始化程序在"self"可用之前运行

似乎我遇到了一些不应该出现问题的问题......但我想请求一些帮助.

这里有一些解释我没有得到.

有两个简单的类,其中一个引用另一个,如下所示;

class User {
  lazy var name: String = ""
  lazy var age: Int = 0

  init (name: String, age: Int) {
      self.name = name
      self.age = age
  }
}

class MyOwn {
  let myUser: User = User(name: "John", age: 100)
  var life = myUser.age 
  //Cannot use instance member 'myUser' within property initializer
  //property initializers run before 'self' is available
}
Run Code Online (Sandbox Code Playgroud)

我得到了注释编译错误.请有人告诉我该怎么办才能解决这个案子?

非常感谢任何好人的帮助!

properties class init lazy-initialization swift

18
推荐指数
2
解决办法
2万
查看次数

标签 统计

class ×1

init ×1

lazy-initialization ×1

properties ×1

swift ×1