Я бы предложил использовать enum
для этого варианта использования.
Вы можете объявить публичное перечисление вне ViewController следующим образом:
public enum InitialiserType {
case typeOne
case typeTwo
case defaultType
}
Создать свойство в вашем ViewController какthis:
initialiserType:InitialiserType = .defaultType
Установка его по умолчанию вызовет инициализатор по умолчанию, если тип не указан.
Кроме того, добавьте следующий код в viewDidLoad()
:
switch self.initialiserType {
case .typeOne:
print("Do the custom code for type one here")
case .typeTwo:
print("Do the custom code for type two here")
case .defaultType:
print("Do the default code here")
}
Теперь, когда вы инициализируете Viewcontroller, просто установите этот тип:
controller.initialiserType = .typeOne
В зависимости от типа, который вы здесь установите, инициализатор будет работать соответственно.