不本意な結果発表は、さっさと記事で流すに限るぜ。
 てなわけで、11月で内容も解禁になったので、今度出版する本の内容をぼちぼちと公開。

 で、誰を対象としてるかというと、Objective-CやCocoaを触って日の浅い人。
 例えば「iPhoneアプリ開発 必須リンク集」で紹介した市販本を読んで、書かれているとおりに書いて実行する事はできた。
 だけど、ちょっと自分なりの変更を加えるといきなり強制終了しちゃったよーんな人です。

 で、そういう時に何をすればいいかというと、デバッガを使っての調査なわけですが…
 デバッガ使って調査する過程書いてる本、あんま無いでしょ。
 そこらへんを書いていこうと編集さんと打ち合わせたわけですな。
 仕事とかサークルで、相談できる先輩がいる人ばっかじゃないもんね。

 で、その調査の過程で、何を理解してもらおうとしてるかというと、前も書いたとおり

 1、retainをしないと駄目な場合と、不要な場合をどう判断すればいいのか
 2、retainをしないと駄目な場合の理由はなんなのか
 3、@property(retain)と@property(assign)の違いはなんなのか

 これには、何が絡むかというとAppleがCocoaのメモリ管理で決めた規約と、NSObjectの参照カウントという仕組みとNSAutoReleasePoolというクラスなわけですが、そこらへんを、XcodeのNavigation-Based-Applicationテンプレートプロジェクトを触りながら、実際に強制終了させる不具合をわざと作ってみて、デバッガやコンソールで状態を確認したりする手法を、いつものXccのブログよろしく、図で示しながら紹介していくわけですな。

 これが全体の1/4くらい。
 んでもって、これで不用意なオブジェクトの解放を防げるようになるわけですが、ということは逆にオブジェクトの解放を自分で責任持たないといかんわけでして、ここらへんをinstrumentsのLeaks計測器を使って解放し忘れのオブジェクトを探すかたちで説明していきます。
 と同時にinstrumentsのLeaks計測器の使い方をその(161)をより詳細にした感じで紹介していくわけっす。


$テン*シー*シー-1

↑ページをちょっぴりリーク(校正中)

 こんな感じね。
 以下、次回!