01:11※ほしさんのコメントを受けて、ビューが実際にロードされるタイミング周りの内容を追記&修正しました。ほしさん、ありがとうございます。touchのクラスUIViewController。画面上に表示するビューを管理する上で欠かせないクラスです。このUIViewControllerアプリには初期化時に呼ばれる可能性のあるメソッドが大量にあり、どれがいつ使われるのか、ある処理はどのメソッドに記述するべきかといった点で迷うのも事実だと思います。はい、まさしくボクがそんな状態です。「これじゃいつまで経っても初心者のままだ」と思い、ちょっとまとめてみることにしました。出典はAppleのオンラインドキュメントと、後述する「iPhoneアプリケーションプログラミング*1」です。指定したXIBファイルを開くための初期処理を実行。IBで作成したxibファイルを読み込むための前準備。ビューを実際に表示するときにもちいるプロパティ。このプロパティへのアクセスによって、ビューのロード処理が始まる。UIViewControllerクラスのviewプロパティが必要とされたタイミングにviewが無指定だった場合(initWithNibNameでxibファイルを指定していなかった場合、またはviewコール前にsetViewしていなかった場合)、フレームワークによって自動的に呼ばれるメソッド(=自分で直接呼んだらダメ)。bundle:でxibファイルが開かれたら、まず呼ばれるメソッド。ビューが画面上に表示される直前に呼ばれるメソッド。ビューが画面上に表示された直後に呼ばれるメソッド。animated:《完了!ユーザー操作が可能に》となるんだ。いうことはloadViewはviewに何も指定されていないときに呼ばれるわけで、xibファイルがロードされた場合には呼ばれない。このloadViewメソッドではビュー(V&C)に注目した処理を書くと良さそう。bundle:を呼んでいる処理の中か、もしくは-viewDidLoadで行うのが行儀良いのかな、たぶん(ちょっと自信がないけど、前者の方がタイミング的にいいのかも)。文にまとめてみたら、だいぶん分かるようになりました。ポイントは、-initWithNibNameの段階ではまだロードされないviewプロパティorゲッターにアクセスされたときに初めてビューがロードされる自分でビューをセットアップしたい場合は-initWithNibNameでnilを設定しておいて、-loadView内でセットアップするというあたりかな。ちなみに今回のおさらいには、書籍「iPhoneアプリケーションプログラミング*2」が役に立ちました。touchで提供されている各クラスについて、どういうときに使って提供するメソッドには何があってそれぞれどういう意味があるのかが丁寧に書かれています。プログラミングについてを「はじめてのiPhoneプログラミング*3」で学んだあとは(もしくは学びつつ)、この本で各クラスの理解を深めるのが近道だと思います。Unavailable(Amazonインスタントストアへのリンク)それにしても、iPhoneアプリを作る本は本当に増えてきました。私みたいにどんどん買うのもどうかと思いますので、皆さんはうまく情報を取捨選択していってください。*1:注意:Amazonインスタントストアへのリンクです。*2:注意:Amazonインスタントストアへのリンクです。