0

これが素朴な、単純な、またはばかげた質問であるかどうかをお詫びすることから始めます。私はObjective Cに比較的慣れておらず、学習しようとしています。

基本的にmethodAmethodBまたはmethodCが呼び出される状況があります。次に、これらのメソッドが を呼び出しますmethodX。の終わりにmethodX達したら、それを呼び出したメソッド ( methodAmethodBまたはmethodC) を再呼び出しする必要があります。

これまでこの問題に遭遇したことがないため、解決策の開発を支援したいと考えています。より複雑な状況では、次のこともあるかもしれません。methodAmethodBまたはmethodC呼び出されます。彼らは呼び出しますmethodXmethodXオフになり、他のメソッドの束を呼び出します (変更できません)。後で( 、、および とmethodY同じクラスで) 呼び出されます。これは、呼び出しを開始したメソッド( 、または)を呼び出す必要があります。 .methodAmethodBmethodCmethodXmethodXmethodAmethodBmethodC

誰かがこの問題で正しい方向に私を向けることができます. 役立つチュートリアルや基本的な例があれば、そちらを参照していただければ幸いです。例で説明されているトピックをグーグルで検索してみましたが、達成しようとしていることの技術用語がわからないため、うまくいきませんでした。

前もって感謝します。

注:私の例methodAではmethodB、 、methodCmethodXおよびmethodYはすべて同じクラスです。

4

1 に答える 1

0

これを行うには、2つの典型的な方法があります。

これを行う1つの方法は、デリゲートを使用することです。完了メソッドを持つプロトコルを定義し、オブジェクトがそのプロトコルに準拠していることを宣言し、そのオブジェクトをメソッドに渡します。次に、完了を通知する必要がある場合は、そのデリゲートオブジェクトで完了メソッドを呼び出します。

それを行う別の方法は、ブロックを使用することです。ブロックをメソッドに渡し、完了したら実行します。

また、人々がターゲットやセレクターを通過したり、通知を使用したりすることもよくあります。ただし、最初の2つの方法は、このタイプの状況により適しています。

于 2012-05-16T22:07:02.770 に答える