EXC_BAD_ACCESSとNSZombieEnabled
開発中に「EXC_BAD_ACCESS」に何度も悩まされていないでしょうか?
私は悩まされています・・・このエラーはリリース済みのオブジェクトにアクセスしようとした場合に出ます。(もしかすると他の場合にも出るかもしれません)
慣れていないとautoreleaseのタイミングを把握していなかったり、retainし忘れなどでついやってしまいがちです。自分もその一人です。
しかも憎たらしいことに(?)デバッガでは「EXC_BAD_ACCESS」としか出ないため、原因を突き止めるのに時間がかかってしまうことがあります。
そんな時は、「NSZombieEnabled」です。
どのオブジェクトに対してアクセスしているかメッセージを吐き出してくれるようになります。
設定の仕方は、Xcode上の右側の実行可能ファイルをダブルクリックまたは右クリックして情報を見るを選択します。
そして下記の画像のように引数タブの「環境変数に設定される変数」に名前:NSZombieEnabled 値:YESと設定すればOKです。