対話が発生するたびに呼び出されるデリゲートにイベント ハンドラーを持つ 2 つのビューがあります。各イベント ハンドラーで、他のビューで対話を実行するようにしたいと思います。ここでの問題は、イベント ハンドラーで呼び出しを行ったり来たりする無限ループに遭遇することです。つまり、一方が他方で相互作用を行うと、そのイベント ハンドラーがトリガーされます。これを回避する方法はありますか?
これがデリゲート メソッドです。view1 と view2 は 2 つのビューです。Position は、各ビューの位置を更新するために使用されるカスタム クラスです。
-(void) viewDelegate: (UIView*) dView didChangePosition: (Position*) newPosition {
if( dView == view1 ){
[view2 moveToPosition: newPosition];
}else{
[view1 moveToPosition: newPosition];
}
}