swift中的对象初始化

时间:2018-06-01 08:50:16

标签: swift initialization

从下面给出的swift中对象初始化的好习惯是什么?为什么?

1。声明时初始化

class MyClass {
    var object: MyObject = MyObject()
}

2。在init()

中初始化
class MyClass {

    var object: MyObject

    init() {
        object = MyObject()
    }
}

如果还有其他方法,请随时提出建议。

1 个答案:

答案 0 :(得分:4)

在这种简单的情况下,最好在声明时为object分配值,而不需要在MyClass的初始值设定项中执行此操作。

所以你可以这样做:

class MyClass {
    let object = MyObject()
}

但是,可能会有更复杂的情况,例如MyObject本身有一个带输入参数的初始值设定项,只有在初始化MyClass时才能初始化object {1}}在声明时,您需要在初始化程序MyClass中执行此操作。

class MyObject {
    let prop: String

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

class MyClass {
    let object: MyObject

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