3つのタブを持つタブバーコントローラーを使用するiPhoneアプリがあります。各タブは別々のクラスです。各クラスで同一の方法がいくつかあります。同じメソッドの3つのコピーを持つ代わりに、クラス間でメソッドを共有したいと思います。しかし、私はこれを行う方法を考え出していない。2つのクラス間でメソッドを共有するにはどうすればよいですか?
ありがとうございました。
3つのタブを持つタブバーコントローラーを使用するiPhoneアプリがあります。各タブは別々のクラスです。各クラスで同一の方法がいくつかあります。同じメソッドの3つのコピーを持つ代わりに、クラス間でメソッドを共有したいと思います。しかし、私はこれを行う方法を考え出していない。2つのクラス間でメソッドを共有するにはどうすればよいですか?
ありがとうございました。
ここでは、新しいクラスを作成し、そのクラス内で複数のクラス間で共有したいメソッドを定義することができます。
このメソッドにアクセスする場合は、クラスをインポートするだけで、複数のクラスで同じメソッドを使用できます。
さらなるヘルプが必要な場合はお知らせください。
これは古典的な継承のケースです。基本クラスを作成し、作成しようとしているクラスに共通するすべてのものを関数とデータの両方のメンバーに入れます。次に、このクラスからタブの3つのクラスを派生させます(それを継承するか、親クラスにします。ここで重複する用語がたくさんあります)。親クラスのメソッドがプライベートメソッドとして定義されていないことを確認してください。それはあなたの子供のクラスにアクセスできなくなります。希望が助けてくれる!
親は共通の機能しか持たないはずですか?つまり、* 3つの*サブクラスを持つことになります。最初は各タブです。 3つのタブのうちの1つとして「親」を使用することは非常に奇妙なようです。その結果、他のクラスはあまりにも多くの機能を継承します。 –
「基本クラスを作成し、作成しようとしているクラスに共通するすべてのものを、関数とデータの両方のメンバに入れてください」と述べました。彼は3つの派生クラスを作っていることを忘れていた私は3つのタブのうちの1つとして親を使用するとは言いませんでした。申し訳ありませんが、もし私の言葉が誰かに混乱していたら! – GoinAum
親としてタブを使用していないことを確認したかっただけです。何が混乱するだろう!どちらにせよ、あなたには良い+1。 –
AppAspectでは、各タブに必要な基本機能を持つスーパークラスを作成する必要があるということを、もっと明快に(おそらく)説明しています。各タブごとに、必要に応じてサブクラスを作成します。必要な追加機能はすべてタブ固有のものです。このサイトでは、SquareクラスがRectangleクラスのサブクラスであることを確認しています。http://www.otierney.net/objective-c.html#subinheritance –