現在、私は iOS プロジェクトに取り組んでいます。同じクラスから派生した 2 つの視覚的に類似したオブジェクトがあります。私が欲しいのは、オブジェクト2で同じものを変更する必要がある1つのオブジェクトでいくつかの変更を行うときです.
詳細に:
私はクラスを持っており、MyClass
からobj1
派生obj2
していMyClass
ます。いくつかのアクションを実行するobj1
と、対応する のデリゲート メソッドが呼び出されますobj1
。今私が欲しいのは、obj1
デリゲート メソッドを呼び出すときに、のデリゲート メソッドも呼び出す必要があることですobj2
。同じように: 変更するobj2
と、obj1
. また、今後さらに要素を追加する必要があります。
私がしたこと:
Singleton クラスを追加し、その上に配列を配置して、それにオブジェクトを追加しました。
デリゲート メソッドでは、次のようになります。
- (void)delegateMethod:(id)param
{
NSMutableArray *arr = [[MySingleTon sharedObject] getArray];
for(int loop = 0;loop<[arr count];loop++)
{
if(![arr objectAtIndex] == self)
{
[[arr objectAtIndex:loop] delegateMethod:param];
}
}
}
何が起こったのですか:
しかし問題は、それが無限ループを引き起こすことです。Obj2 は同じことを行い、他のすべてのオブジェクトも同じことを行います。約 25 のデリゲート メソッドがあり、同じ機能を実装する必要があります。追加のパラメーターを追加してデリゲート メソッドを変更することはできません。
これに対する解決策はありますか?助けてください、事前に感謝します。
これが必要な理由/実際の実装:
ズーム/回転などが可能なカスタム ビューを作成しました。同じクラスの 2 つのオブジェクトを作成し、それを親ビューに追加しました。ビュー1で何かを変更すると、ビュー2でも同様に変更されるはずです。また、ビューを追加する必要があります。