Puede usar protocolo frente a aserción como se sugiere en la respuesta aquí de drewag
. Sin embargo, falta un ejemplo del protocolo. Estoy cubriendo aquí,
Protocolo
protocol SomeProtocol {
func someMethod()
}
class SomeClass: SomeProtocol {
func someMethod() {}
}
Ahora se requiere que todas las subclases implementen el protocolo que se verifica en tiempo de compilación. Si SomeClass no implementa someMethod, obtendrá este error de tiempo de compilación:
error: el tipo 'SomeClass' no se ajusta al protocolo 'SomeProtocol'
Nota: esto solo funciona para la clase superior que implementa el protocolo. Cualquier subclase puede ignorar alegremente los requisitos del protocolo. - como se ha comentado pormemmons
Afirmación
class SuperClass {
func someFunc() {
fatalError("Must Override")
}
}
class Subclass : SuperClass {
override func someFunc() {
}
}
Sin embargo, la aserción solo funcionará en tiempo de ejecución.