Swift拡張機能でのメソッドのオーバーライド
私は必要なもの(保存されたプロパティ、初期化子)だけをクラス定義に入れ、他のものすべてを独自のに移動する傾向があります。これは、グループ化する論理ブロックごとextensionのようなものです。extension// MARK: たとえば、UIViewサブクラスの場合、イベントにサブスクライブして処理するためのレイアウトなど、レイアウト関連の拡張機能が必要になります。これらの拡張機能では、必然的にいくつかのUIKitメソッドをオーバーライドする必要がありますlayoutSubviews。今日まで、このアプローチの問題に気づくことはありませんでした。 このクラス階層を例にとります: public class C: NSObject { public func method() { print("C") } } public class B: C { } extension B { override public func method() { print("B") } } public class A: B { } extension A { override public func method() { print("A") } } …