0
これはオーディオキューを使用してノイズを生成するための私のコードです:オーディオキューとEXC_BAD_ACCESS
問題は、私のコードはEXC_BAD_ACCESSを生成していることです。この問題は、コールバックルーチンで割り当て内にあるようです。
MAAudioManager *audioMngr = (__bridge MAAudioManager *) inUserData;
私はそれがMAAudioManagerクラスのスレッドによるアクセスに関連していると思われます。
あなたは正しいです。 ARCのない同じプログラムが正常に動作します。 ARCがMAAudioManagerインスタンスをリリースしたようです。さて、私は少し良いARCを勉強する必要があります。一方、ARCがオブジェクトを解放するのを避ける方法についての考え方はありますか?ありがとう! – Carlo
MAAudioManagerのインスタンスへのポインタをどこかに置いておく必要があります。それを作成するオブジェクトのインスタンス変数や、アプリケーションデリゲートに保持することができます。 – joerick
NSZombieを使ってデバッグするのも良い考えです。「Scheme」ダイアログでこれを行うことができます。「ゾンビオブジェクトを有効にする」というオプションがあります。これを有効にすると、EXC_BAD_ACCESSではなく、より多くの情報が得られます。 – joerick