Vous pouvez utiliser protocole vs assertion comme suggéré dans la réponse ici par drewag
. Cependant, l'exemple du protocole est manquant. Je couvre ici,
Protocole
protocol SomeProtocol {
func someMethod()
}
class SomeClass: SomeProtocol {
func someMethod() {}
}
Désormais, toutes les sous-classes doivent implémenter le protocole qui est vérifié au moment de la compilation. Si SomeClass n'implémente pas someMethod, vous obtiendrez cette erreur de compilation:
erreur: le type 'SomeClass' n'est pas conforme au protocole 'SomeProtocol'
Remarque: cela ne fonctionne que pour la classe la plus élevée qui implémente le protocole. Toutes les sous-classes peuvent ignorer allègrement les exigences du protocole. - comme commenté parmemmons
Affirmation
class SuperClass {
func someFunc() {
fatalError("Must Override")
}
}
class Subclass : SuperClass {
override func someFunc() {
}
}
Cependant, l'assertion ne fonctionnera que pendant l'exécution.