0
私はClassAとClassBを持っています。今私はClassB.SoでClassAのメソッドを呼び出すClassBでClassAをインポートし、それのオブジェクトを作成し、そのmethod.Now私はclassAのclassBのメソッドを呼び出すしたい。どうやってやるの。あるクラスから別のクラスへのオブジェクトの循環呼び出し。
私はClassAとClassBを持っています。今私はClassB.SoでClassAのメソッドを呼び出すClassBでClassAをインポートし、それのオブジェクトを作成し、そのmethod.Now私はclassAのclassBのメソッドを呼び出すしたい。どうやってやるの。あるクラスから別のクラスへのオブジェクトの循環呼び出し。
基本的な問題は、周期的なインポートです。これに対する答えは、ヘッダファイルでのインポートを停止することです。 ClassAがClassBから何かを呼び出す必要がある場合は、、、からClassA.h
には#import "ClassB.h"
を追加する必要があります。 ClassBがClassAで何かを呼び出す必要がある場合、同じことです。 ClassAは、そのヘッダ(タイプClassBのの、例えばプロパティ)でClassBのを参照する必要があるなら、あなたはあなたのClassA.h
の上部に
@class ClassB;
を使用してクラスを転送-宣言することができます。これは、コンパイラにClassB
という名前のクラスが存在することを通知し、後でそのクラスが何であるかを伝えます。
いくつかのコードを表示できますか? –
これは私にとってちょっとおかしなようです。これは、2つのクラスが若干結合していることを意味します。プロトコルなどを調べてみましたか? –
別のクラスを作成し、このクラスは両方のメソッドを記述し、必要なときにいつでも呼び出すことができます。 – Ron