Инициализация объекта в swift - PullRequest
0 голосов
/ 01 июня 2018

Что будет хорошей практикой для быстрой инициализации объекта из приведенного ниже?И почему?

1.Инициализировать при объявлении

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

2.Инициализируйте в init ()

class MyClass {

    var object: MyObject

    init() {
        object = MyObject()
    }
}

Если есть какие-либо другие подходы, не стесняйтесь давать предложения.

1 Ответ

0 голосов
/ 01 июня 2018

В этом простом случае лучше присвоить значение object прямо при объявлении, нет необходимости делать это в инициализаторе MyClass.

Так что вы можете просто сделать:

class MyClass {
    let object = MyObject()
}

Однако могут быть более сложные сценарии, например, когда сам MyObject имеет инициализатор с входными параметрами, которые становятся известны только при инициализации MyClass, когда вы не можете инициализировать objectпри объявлении, поэтому вам нужно сделать это в инициализаторе MyClass.

class MyObject {
    let prop: String

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

class MyClass {
    let object: MyObject

    init(objectProp:String){
        self.object = MyObject(objectProp)
    }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...