&tag(UIKit, UIViewController); *目次 [#f51561f0] #contents *生成 [#e08d10c1] **ビューをコードで生成生成する [#s332857f] -viewDidLoadなどでUIViewのインスタンスを生成する。サイズは既存のviewのサイズと同じにする。 #pre{{ - (void)viewDidLoad { [super viewDidLoad]; textView = [[UITextView alloc] initWithFrame:self.view.bounds]; [textView setAutoresizingMask:UIViewAutoresizingFlexibleWidth|UIViewAutoresizingFlexibleHeight]; [self.view addSubview:textView]; } }} *画面遷移 [#a244c6dd] **他のビューコントローラーを呼び出す [#ka8c241b] #pre{{ EditListViewController *editListViewController = [[EditListViewController alloc] initWithStyle:UITableViewStyleGrouped]; [[self navigationController] pushViewController:editListViewController animated:YES]; [editListViewController release]; }} *メモリ管理 [#qb3d5ede] **deallocとviewDidUnLoad [#jae9c59c] -[[viewDidUnloadとdealloc - ASとか:http://d.hatena.ne.jp/murakaming/20110901/1314839222]]にあるように、サンプルコードなどではviewDidUnLoadは大抵無視されているけどちゃんとメモリ解放処理をいれておいたほうがよさそう。理由はメモリ警告でdidReceiveMemoryWarningが起こったとき、viewDidUnLoadが呼び出され、次回ビューが呼び出されたとき、viewDidLoadが再度よばれるから。何の手当もしてないとメモリリークが発生する。 -viewDidUnload: viewDidLoadで確保したメモリを解放する。 -dealloc: initとviewDidLoadで確保したメモリを解放する。