Objective-Cは多重継承をサポートしていないので、クラス間でコードを共有するための他のメカニズムがありますか?継承のないObjective-Cのクラス間でコードを共有できますか?
私は既存のxmlスキーマの上にCocoaライブラリを作成しています。スキーマ内の多くの要素(たとえば、)は、複数の型で使用されます。私はこれを何とかして集中化したいと考えていたので、@property NSString *name
と関連するコードを追加して、name属性を持つすべての単一クラスのnameプロパティのxmlを生成する必要はありませんでした。複数の継承がサポートされていればそれはかなり簡単ですが、それ以外の方法はわかりません。
私が考えることができる最も良いことは、各オプションプロパティをエンコードするメソッドのスーパーセットを持つ共通のスーパークラスを作成し、各クラスのエンコードメソッドで適切なメソッド(つまりencodeName
)を呼び出していることです。それは最善の方法のように見えますか?
私は最初のObjective-Cプロジェクトで同じ手法を使用しました。 – user523234