Ви можете використовувати протокол проти затвердження , як запропоновано у відповідь тут шляхом drewag
. Однак приклад для протоколу відсутній. Я тут покриваю,
Протокол
protocol SomeProtocol {
func someMethod()
}
class SomeClass: SomeProtocol {
func someMethod() {}
}
Тепер усі підкласи необхідні для реалізації протоколу, який перевіряється під час компіляції. Якщо SomeClass не реалізує someMethod, ви отримаєте цю помилку часу компіляції:
помилка: тип 'SomeClass' не відповідає протоколу 'SomeProtocol'
Примітка: це працює лише для найвищого класу, який реалізує протокол. Будь-які підкласи можуть ігнорувати вимоги протоколу. - так прокоментував поmemmons
Твердження
class SuperClass {
func someFunc() {
fatalError("Must Override")
}
}
class Subclass : SuperClass {
override func someFunc() {
}
}
Однак твердження буде працювати лише під час виконання.