iPhoneアプリ作成(10) EXC_BAD_ACCESS
アプリを作りデバッグを始めると、「EXC_BAD_ACCESS」に遭遇する。
◆最初は、以下の2つケースをよくやってた。
・NSLogでの書式指定間違い int i = 1;?? NSLog(@"%@",i); NSString *str = @"TEST";???? NSLog(@"%d",str); ・初期化していない変数を使用する NSString *str;??? NSLog(@"%@",str);
◆最近は、画面の切替時に以下の事象で悩ませられている。
・オブジェクトが消えてる
なぜか、作成しいたオブジェクトが消えてしまい、アクセスできない。
?
とりあえず、retainCountの値を調べ、消えてしまうオブジェクトをにretainして(参照カウンターの値をプラス)、なんとか画面切替してもオブジェクトが参照できる状態になっているが、なぜ、こんな状態になるのかわからない。
メモリ管理の内容を理解できていなのかと思い、書店であれこれ立ち読みして下記の書籍をチョイス。
「iOS デバッグ&最適化技法」國居貴浩著 1800円
NSAutoreleasePoolの動作をまったく理解していなかったことがわかった。
まだ、前半しか読んでいないが、これから遭遇するであろうメモリリークについても記載されており、じっくり読んでみようと思う。