🔸required initializer
╱🚧 under construction -> subclass, override, designated initializer, inherited initializer, convenience init
swift ⟩ type ⟩ init ⟩ initializers ⟩ required
1️⃣ write required
before the definition of a class initializer to indicate that every subclass of the class must implement that initializer. ( 👉 💈範例 (1) )
2️⃣ write required
before every subclass implementation of a required initializer, don’t write override
when overriding a required designated initializer.
You don’t have to provide an explicit implementation of a required initializer if you can satisfy the requirement with an inherited initializer. ( 👉 💈範例 (2) )
// superclass
class SuperClass {
required init() { ... } // 1️⃣ required (designated) init
}
// subclass
class Subclass: SuperClass {
required init() { ... } // 2️⃣ required init (No `override` here❗️)
}
Last updated
Was this helpful?