私はコードの「実行順序」の概念に取り組んでいますが、これまでのところ私の研究は不十分です。表現が間違っているかどうかはわかりませんが、この概念にはもっと適切な用語がある可能性があります。以下のさまざまなつまずきのブロックに誰かが光を当てることができれば幸いです。
メソッドを次々と呼び出すと、次のようになります。
[self generateGrid1];
[self generateGrid2];
両方のメソッドが実行されますが、generateGrid1 は必ずしも generateGrid2 を待機しません。しかし、それが必要な場合はどうすればよいですか? generateGrid1 がいくつかの複雑な計算 (未知の時間がかかる) を行い、generateGrid2 がその計算に使用する配列に値を入力するとしますか? これは、イベントが発生するたびに実行する必要があり、一度だけの初期化ではありません。
メソッドを順番に呼び出す方法が必要ですが、一部のメソッドが他のメソッドを待機するようにしています。私はコールバックを調べましたが、私が見たすべての例で、コンセプトは常にデリゲートと結びついています。
また、コード行が使用されるのに間に合うように解析されることを合理的に期待できないと判断する時期もわかりません。例えば:
int myVar = [self complexFloatCalculation];
if (myVar <= 10.0f) {} else {}
「自分のことを始める前に、この他のことは完了していますか」のチェックを実装するのに十分な時間がかかるかどうかを判断するにはどうすればよいですか。試行錯誤だけ?
それとも、別のメソッドのパラメーターとしてメソッドを渡しているのでしょうか? メソッドを実行する前に、引数が評価されるのを待ちますか?
[self getNameForValue:[self getIntValue]];