Property initializers run before ‘self’ is available

As correctly pointed out by vadian you should create an init in such scenarios:

class MyOwn {
    let myUser: User
    var life: Int

    init() {
        self.myUser = User(name: "John", age: 100)
        self.life = myUser.age 
    }
}

You can’t provide a default value for a stored property that depends on another instance property.

Leave a Comment