自動解放プールが解放されると、アプリケーションがクラッシュします。その理由は、プールが解放される前に、自動解放メッセージを持つオブジェクトに解放メッセージが送信されたため、既に解放されているオブジェクトに対してアプリケーションがクラッシュするためと思われます。
したがって、保留中の自動解放メッセージがあるオブジェクトを見つけて、そのオブジェクトへの保持..解放/自動解放メッセージのバランスをとることができるようにしたい
自動解放プールが解放されると、アプリケーションがクラッシュします。その理由は、プールが解放される前に、自動解放メッセージを持つオブジェクトに解放メッセージが送信されたため、既に解放されているオブジェクトに対してアプリケーションがクラッシュするためと思われます。
したがって、保留中の自動解放メッセージがあるオブジェクトを見つけて、そのオブジェクトへの保持..解放/自動解放メッセージのバランスをとることができるようにしたい
「NSZombieEnabled」について知らない場合は、必ず確認する必要があります - 手順はこちら
どのオブジェクトが autoreleasepool にあるかはわかりませんが、どのオブジェクトが過剰に解放されているかはわかります。
簡単に言えば:
1)Xcode プロジェクトの Executables グループにある実行可能ファイルをダブルクリックします。
2)「引数」タブをクリックします。
3)「環境に設定する変数:」セクションで、「NSZombieEnabled」という変数を作成し、その値を「YES」に設定します。