Anda dapat menggunakan protokol vs pernyataan seperti yang disarankan dalam jawaban di sini oleh drewag
. Namun, contoh untuk protokolnya hilang. Saya menutupi di sini,
Protokol
protocol SomeProtocol {
func someMethod()
}
class SomeClass: SomeProtocol {
func someMethod() {}
}
Sekarang setiap subclass diharuskan mengimplementasikan protokol yang diperiksa dalam waktu kompilasi. Jika SomeClass tidak mengimplementasikan someMethod, Anda akan mendapatkan error waktu kompilasi ini:
kesalahan: ketik 'SomeClass' tidak sesuai dengan protokol 'SomeProtocol'
Catatan: ini hanya berfungsi untuk kelas paling atas yang mengimplementasikan protokol. Setiap subclass dapat mengabaikan persyaratan protokol. - seperti yang dikomentari olehmemmons
Tuntutan
class SuperClass {
func someFunc() {
fatalError("Must Override")
}
}
class Subclass : SuperClass {
override func someFunc() {
}
}
Namun, pernyataan hanya akan berfungsi pada waktu proses.