アプリケーションを ARC にアップグレードしたところですが、デリゲートを持つクラスの処理方法に問題があります。私は iOS 4.0 以降をターゲットにしているので、デリゲート ポインターを格納するために__unsafe_unretained
andを使用しています。@property (unsafe_unretained)
しかし、私が今見つけているのは、ビューコントローラーで作成したサービス (デリゲートを含む) が、そのビューコントローラーを削除した後、ぶらぶらしているということです。その結果、ビューコントローラー (デリゲート) と通信しようとします。の割り当てが解除されました...したがって、ゾンビが有効になっているとエラーが発生します。
ビュー コントローラーまたはサービスのコードを更新して、ビュー コントローラーが削除された (ナビゲーション コントローラー スタックからポップされた) ときに、デリゲート ポインターを持つサービスもメモリから削除されるようにするにはどうすればよいですか?