2011-07-12 8 views
2

を知らない行き方:EXC_BAD_ACCESSと私は、このエラーの私のシェアを持っていた、と通常はそれを修正することができたが、この1の私は困惑してしまった理由

self.companyTheme = [[NSDictionary alloc] initWithContentsOfFile: 
    [[NSBundle mainBundle] pathForResource:@"CompanyTheme" ofType:@"plist"]]; 

パスが間違いなく有効です;私はそれをそれ自身の変数に分け、それにブレークポイントを入れてチェックします。

私はアクセスできないメモリにアクセスしようとしていることを意味しますが、どこにアクセスできますか? ご迷惑をおかけして申し訳ございません。乾杯。

+0

は「自己」有効ですか?言い換えれば、このコードはdeallocの後に誤って呼び出される可能性のあるメソッドに現れますか? –

+0

ほとんどの場合、これはあなたがこの行で使用している変数を(自動)リリースしたことを意味します。私たちはあなたを助けるためにもっと多くの情報が必要だと思います:) – Manuel

+0

これはシングルトンオブジェクトであり、上記のメソッドはgood ol 'self = [super init]の直後に呼び出されます。私も100%はこのオブジェクト(または変数)を自動解放しません。 – Dyldo42

答えて

2

私はそれを試しました!

私のオブジェクトはシングルトンで、私のアプリには無限ループが起こっていたからです。私はこれらがEXC_BAD_ACCESSを引き起こしたことも知らなかった。あなたが学ぶこと。

1

nilはメモリアドレス0x0を変換する際[[NSBundle mainBundle] pathForResource:@"CompanyTheme" ofType:@"plist"]]戻っnilinitWithContentsOfFile:がすべてとクラッシュでもnilの引数を処理しないことをIDが」賭け。

+0

パスは間違いなく有効です。私はそれをそれ自身の変数に分け、それにブレークポイントを入れてチェックします。 – Dyldo42

+0

@ Dyldo42:分離してください。 '-pathForResource:ofType:'は何を返しますか?それもまた非ゼロであることを確認してください。このコンパウンドステートメントをデバッグする最も簡単な方法は、個々の操作を1つずつ実行することです。これはほんの数分しかかからず、犯人領域を大幅に狭めるでしょう。 –

+0

私はそれをしました。私は元の質問と上記のコメントでそれを言った。パスは '/var/mobile/Applications/BE39E65E-7584-4C36-B3C4-37CBD5B6660B/App.app/CompanyTheme.plist'であり、これはpathForResource:ofType: – Dyldo42

関連する問題