В голове появилась проблема, что происходит, когда я определяю псевдоним типа Swift? Каков механизм этого? Пока я не узнал главу Автоматическое Initializer Наследование от Swift официального документа:Догадка, что механизм псевдонимов типа Swift является автоматическим инициализатором Inheritance
Если подкласс не определяет какой-либо назначенный инициализатору, он автоматически наследует все его суперкласса назначен инициализаторах
А вот мой код практики для обучения
class Vehicle{
var numberOfWheels = 0
var description: String {
return "\(numberOfWheels) wheel(s)"
}
}
class Auto: Vehicle{}
let VM = Auto()
VM.numberOfWheels
Wow! это работает, по крайней мере, выполняет, точно так же, как псевдоним типа Swift. Auto является псевдонимом типа Vehicle
Вопрос: Могу ли я правильно понимаю? Это механизм, лежащий в основе псевдонимов типа.
'Авто' не является псевдонимом типа, это подкласс' Vehicle' – vadian
@vadian. Таким образом, псевдоним типа фактически находится на том же уровне исходного класса, который он определил. Но подкласс находится на уровне Sub, он унаследован от суперкласса – SLN
Алиас типа является синонимом, который может использоваться вместо исходного термина, например 'NSTimeInterval' является псевдонимом типа' Double' и может использоваться везде, где Ожидается «Двойной». – vadian