新しいコントローラーをnavスタックにプッシュするには、次のコードを検討してください。
AlphaColorController * a = [[AlphaColorController alloc] initWithColor:color name:name alpha:0.25];
[[self navigationController] pushViewController:a animated:YES];
[a release];
のポインタはありませんa
。ユーザーがこの新しいコントローラーに移動し、次に「戻る」、次に「進む」に移動した場合、navコントローラーは、このコントローラーが既に存在することを認識できるほど賢いですか、存在しない場合は、再度割り当てることができますか?コントローラーが複数回プッシュされる前にインスタンス化されているかどうかを最初に(ポインターを使用して)テストする必要がありますか?
更新:別の言い方をすれば、このコードは、ユーザーがナビゲーションコントローラーの特定の領域に移動するたびにコントローラーを効果的に再割り当てしますか?navコントローラーは毎回新しく作成されたコントローラーを再実行してプッシュしますか?