programmableのブログ -2ページ目

programmableのブログ

ブログの説明を入力します。

UITableViewは2つのデリゲートオブジェクトを使用する。
操作に反応するためのデリゲートはdelegateプロパティ、
プロトコルは<UITableViewDelegate>。

UITableViewの画面を作るためのデリゲートはdataSourceプロパティ、
プロトコルは<UITableViewDataSource>

UITableViewControllerは
delegate
DataSource
ViewController
の3つの役割を果たすことが出来る。
UITabBarControllerにUINavigationControllerを組み込むことは出来るが、
UINavigationControllerにUITabBarControllerを組み込むことは保証されていない。

タブの中にナビゲーションはOKで
ナビゲーションの中にタブは保証外ということだから、
tabはビューを司る最上位の概念というイメージかな?

dismissModalViewControllerAnimated:はiOS6でdepreciated
dismissViewControllerAnimated:completion:を使うことが推奨

あとでもう少し調べてみよう。
UIViewControllerの役割の基本は
・必要になった時点(viewプロパティのゲッターが呼ばれた時点)でviewを作成し提供すること。
    viewの作成と提供とは、-loadviewと-viewDidLoadを行うということ。
・メモリが足りなくなったときにviewが使われていなければviewを解放し、viewが占有していたメモリを明け渡す。→iOS6で変更?
iOS6になってshouldAutrotateToInterfaceOrientationはDeprecatedになった。
そして、以下の2つのメソッドをオーバーライドすることによって
回転に対応できるようになる。

-(BOOL)shouldAutorotate{
return YES;
}

-(NSUInteger)supportedInterfaceOrientations{
return UIInterfaceOrientationMaskAll;
}

また、回転方向はinfo.plistに設定することになる。