これら2つの間に違いはありますか?
UIAlertView * alertBox = [[UIAlertView alloc] initWithTitle:@"Title"];
と:
UIAlertView * alertBox = [[UIAlertView alloc] init];
alertBox.title = @"Title";
(もちろんどちらも同じ結果を表示します!)
これら2つの間に違いはありますか?
UIAlertView * alertBox = [[UIAlertView alloc] initWithTitle:@"Title"];
と:
UIAlertView * alertBox = [[UIAlertView alloc] init];
alertBox.title = @"Title";
(もちろんどちらも同じ結果を表示します!)
前者はおそらくわずかに高速ですが、このような最適化を行っている場合は間違いです。アラートを表示することはめったに行わず、直後にユーザーの応答を待つことになります。それを数マイクロ秒削っても何のメリットもありません。アプリケーションの実行方法にまったく違いを感じることはありません。開発者として読みやすい方を使用してください。
パフォーマンスに実際の違いはありません。1 つは、初期化時にタイトルを設定することです。これは、実際alertBox.title
にはカスタム初期化メソッドのコード行を呼び出すだけです。.title
彼らがプロパティを持っている理由は、あなたがそれを変更できるようにするためです。
したがって、このコード:
UIAlertView * alertBox = [[UIAlertView alloc] initWithTitle:@"Title"];
このコードよりも優れているでしょう:
UIAlertView * alertBox = [[UIAlertView alloc] init];
alertBox.title = @"Title";
本当に行数のせいですが、次のコードを使用できます:
alertBox.title = @"New Title";
後で変更する
速度に違いがある場合は、それを測定するためにプランク秒計算機が必要になります:) - いくつかの良い誇張がありますが、基本的にはありません
title
メモリの場合、オブジェクトを初期化し、両方の場合でそのパラメーターを設定しているため、違いはありません。それを行う方法が異なるだけです。最初のものをより短い方法で記述できると考えてください。ただし、実際のクラスは基本的に同じことを行います。
コンストラクターのカスタム初期化メソッドを使用すると、時間と行数が効率的になりますが、他には何もありません-私の評決
どちらがより有利ですか?どちらも、アラート ビューを使用しているため、嫌いです。
UIAlertView * alertBox = [[UIAlertView alloc] initWithTitle:@"Title"];
内部でメソッドを呼び出すコンストラクターに似た init メソッドを使用します.title
。
UIAlertView * alertBox = [[UIAlertView alloc] init];
alertBox.title = @"Title";
最初のステートメントは、タイトルが nil のオブジェクト alertBox を作成します。2 行目では、独自のタイトルを指定します。
パフォーマンスの場合:
2 つ目は、2 つ目のステートメントを実行するために別のスタックを作成するため、2 つの余分な CPU 処理がプッシュおよびポップされます。最初は高速ですが、マルチコア プロセッサと呼び出し時間は実際に交渉可能です。
その最初の行は、記述するコードが少ないだけで、どちらも同じことを行い、UIAlertView のコンストラクターです。私の意見では、最初の行からコンストラクターを実行する方が簡単です。これは、後で各プロパティを調べて追加するのではなく、すべてが 1 行にあるためです。