0

重複の可能性:
iOSアプリケーションでmain.mファイルを変更する理由はありますか?

私はiphoneアプリケーションの開発に不慣れで、iphoneプログラミングでmain.mファイルを積極的に使用しない理由を知りたいです。私は多くの本で次の使用法を見ました:

    - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:



    int main(int argc, char *argv[]) 
    {
    NSAutoreleasePool * pool = [[NSAutoreleasePool alloc] init];
    int retVal = UIApplicationMain(argc, argv, nil, nil);
    [pool release];
    return retVal;
    }
4

3 に答える 3

3

iOS プログラム関数から開始しmain()ます。通常、main.m. 通常、ほとんどのコードが終了するグループでOther Sourcesはなく、というグループにあるため、このファイルを見つけるのに苦労するかもしれません。Classes

ほとんどの iOS プログラムでは、アプリケーション オブジェクトを作成し、メイン イベント ループを実行するmain()call 以外のことはほとんど行いません。UIApplicationMain()

なぜそのように行われるのかについての正確な詳細はわかりませんが、イベント ループが始まる前にそれを呼び出そうとすると、多くのフレームワークに依存するものが壊れてしまうのではないかと思います。

于 2011-11-09T10:39:15.580 に答える
0

main.mは、アプリケーションのエントリ ポイントとしてのみ使用され (そこから開始されます)、ライフ サイクル全体が Objective C クラスで処理されます。アプリケーションのデリゲートに属するメソッドapplication:didFinishLaunchingWithOptions:は、アプリの準備ができたらコードを実行するために使用されます。

ps:英語は読んで理解するのが難しいので、英語を上達させるように努めるべきです:P

于 2011-11-09T10:42:34.537 に答える
0

main 関数については、こちらを参照してください。メインファイルを変更しないということではなく、めったに変更しません。カスタム UIApplication サブクラスが必要なときに、過去に main 関数を変更しました。

int retVal = UIApplicationMain(argc, argv, @"CustomApplication", nil);

一般的なプログラミングでは、メイン クラスを変更する必要はありませんが、特別な要件がある場合は、変更することができます。

于 2011-11-09T11:01:56.610 に答える