swift中的对象初始化

swift中的对象初始化,swift,initialization,Swift,Initialization,下面给出的swift中对象初始化的良好实践是什么?为什么 1。声明时初始化 class MyClass { var object: MyObject = MyObject() } 2。在init()中初始化。 如果还有其他方法,请随意给出建议。在这个简单的例子中,最好在声明处为对象指定一个值,而无需在MyClass的初始值设定项中执行此操作 class MyObject { let prop: String init(_ prop:String){ s

下面给出的swift中对象初始化的良好实践是什么?为什么

1。声明时初始化

class MyClass {
    var object: MyObject = MyObject()
}
2。在init()中初始化。


如果还有其他方法,请随意给出建议。

在这个简单的例子中,最好在声明处为
对象指定一个值,而无需在
MyClass
的初始值设定项中执行此操作

class MyObject {
    let prop: String

    init(_ prop:String){
        self.prop = prop
    }
}

class MyClass {
    let object: MyObject

    init(objectProp:String){
        self.object = MyObject(objectProp)
    }
}
因此,您可以简单地执行以下操作:

class MyClass {
    let object = MyObject()
}
但是,可能存在更复杂的情况,例如,
MyObject
本身有一个带有输入参数的初始值设定项,只有在声明时无法初始化
MyClass
时,
MyClass
的初始值设定项才会知道这些参数,因此需要在
MyClass
的初始值设定项中进行初始化

class MyObject {
    let prop: String

    init(_ prop:String){
        self.prop = prop
    }
}

class MyClass {
    let object: MyObject

    init(objectProp:String){
        self.object = MyObject(objectProp)
    }
}

在这个简单的例子中,最好在声明的右侧为
对象
赋值,而不需要在
MyClass
的初始值设定项中赋值

class MyObject {
    let prop: String

    init(_ prop:String){
        self.prop = prop
    }
}

class MyClass {
    let object: MyObject

    init(objectProp:String){
        self.object = MyObject(objectProp)
    }
}
因此,您可以简单地执行以下操作:

class MyClass {
    let object = MyObject()
}
但是,可能存在更复杂的情况,例如,
MyObject
本身有一个带有输入参数的初始值设定项,只有在声明时无法初始化
MyClass
时,
MyClass
的初始值设定项才会知道这些参数,因此需要在
MyClass
的初始值设定项中进行初始化

class MyObject {
    let prop: String

    init(_ prop:String){
        self.prop = prop
    }
}

class MyClass {
    let object: MyObject

    init(objectProp:String){
        self.object = MyObject(objectProp)
    }
}