問題は、View Controller を作成しているが、それを使用しておらず、そのビューのみを使用していることです (ただし、ARC がスコープ外になったときに、View Controller 自体を解放させます)。ビュー コントローラ間を遷移するときは、pushViewController (ナビゲーション コントローラを使用している場合) または presentModalViewController (次のビューをモーダルで表示する場合。iOS 5 では presentViewController を使用) を使用する必要があります。コンテナー ビュー コントローラーを使用している場合は、transitionFromViewController を使用して子ビュー コントローラー間を遷移させることもできます。View Controller プログラミング ガイドを参照してください。ビュー コントローラ間の移行方法については、ガイダンスを参照してください。しかし、WWDC 2011 セッション 102 で、Apple は、View Controller の階層が適切に構造化されていることを確認する必要があることを明確にアドバイスしています (通常、ビュー階層をミラーリングします)。ビューを追加するだけではなく、View Controller 階層を無視してください。
とにかく、ビュー間を遷移するための標準的な手法は、ナビゲーション コントローラーを使用することです (これにより、「戻る」ボタンのあるタイトル バーが表示されます。表示したくない場合は非表示にすることができます)。
record_audio_testViewController *view2 = [[record_audio_testViewController alloc] initWithNibName:@"record_audio_testViewController" bundle:nil];
[self.navigationController pushViewController:view2 animated:YES];
// if non-ARC project, uncomment the following line
// [view2 release];
最後に、新しいコントローラーのビューを現在のビューコントローラーのビューのサブビューとして追加する手法を本当に使用したい場合 (これは良い考えとは思えません)、ARC がそうでないことを確認するだけです。範囲外になったら解除。そのため、新しいView Controllerを現在のメソッドのローカルvarではなく、現在のView Controllerのivarにすることで範囲外にしないでください。これで ARC の問題は解決しますが、おそらくビュー コントローラー間で適切な移行を行う必要があるため、良い手法とは思えませんが、完全な開示のために提示します。