コードがどこで実行を開始するのか疑問に思っています (NSView サブクラスが実行され、明示的に呼び出されずに描画されるのはなぜですか?) また、メインループを int main() に固定する必要がない場合は、どこに行くのでしょうか?
xcode プロジェクトには、「int main」関数を含む main.m ファイルがあります。NSView 描画を明示的に呼び出すコードは実際には見つかりません。このコードは、iPhone または Mac OS X フレームワークの奥深くに隠されています。「int main」の奥深くにイベントループが隠されていることを知っておいてください。変更をチェックして、いつビューを更新するかを認識します。このイベント ループがどこにあるかを知る必要はありません。メソッドをオーバーライドしたり、これが発生したときに処理を実行できるデリゲートを作成して割り当てることができるため、有用な情報ではありません。
より良い答えを得るには、「int main」関数内に入れたい「メイン ループ」の意味を説明する必要があります。
C++ の経験が少しある私にとっては、奇妙なことです。main 関数が空っぽになるのは不自然に見えます。
10 億行のコードを 1 つの関数にカプセル化し、それを「int main」に入れることができます。メインが数行しかないことに惑わされないでください。これは意図的に行われています。優れたプログラミングは、コードを特定のコンテナーに保持して、適切に整理することを教えてくれます。Apple は、main.m ファイル内の次の 1 行のコードで、iPhone アプリの「実際の」起動ポイントを作成することを選択しました。
int retVal = UIApplicationMain(argc, argv, nil, @"SillyAppDelegate");
その 1 つのコードからアプリのデリゲートが起動され、それが完了するまでメイン関数に制御が返されません。