という名前のプライベートメソッドを定義することにより-(id)init
、クラスのさまざまなフレーバー、つまり、、、などで重複init
するコードを回避しようとしています。initWithFrame
initWithCoder
commonConstruct
このメソッドは、すべての init メソッド フレーバーに共通する面倒な作業を行い、init
コンストラクターによって呼び出されます。
私が今抱えている問題は、派生クラスでは、初期化子ヘルパー (「commonConstruct」) に同じ命名規則を使用して、基本クラスが派生クラスの を呼び出すcommonConstruct
ことです。つまり、ファイルではなくファイルでinvisible
宣言されています。.m
.h
ただし、ランタイムは、オーバーロードされた commonConstruct を見つけて、独自のメンバー関数の代わりにそれを実行します。
各サブクラスの初期化ヘルパーに異なる名前を使用する以外に方法はありますか?
言い換えれば、Objective-C
「非仮想」のメンバー関数を作成する方法はありますか?