私はARCを使用しており[[NSNotificationCenter defaultCenter] removeObserver:someObserver];、オブザーバーのdealloc.
NSNotificationCenter クラスリファレンスから
notificationObserver または addObserver:selector:name:object: で指定されたオブジェクトの割り当てが解除される前に、必ずこのメソッド (または removeObserver:name:object:) を呼び出してください。
NSNotificationCenter はオブザーバーを保持しません。
Q1:NSNotificationCenterスレッドセーフですか?
場合によっては、オブザーバーの割り当てが解除され (通知センターからオブザーバーが削除され)、別のスレッドが同時に通知を投稿します。
ランダムなクラッシュが発生しましたが、これが原因だと思います。
Q2: このような状況はありえますか?
Q3: につながるのEXC_BAD_ACCESS?
Q4: では[[NSNotificationCenter defaultCenter] removeObserver:someObserver];、オブザーバーを呼び出しても安全deallocですか?
Q5: 安全でない場合は、どこに電話すればよいremoveObserver:ですか?