NSNotificationCenterに問題があります。今はクラッシュしますが、数日前に通知を追加すると、正しく機能しました。その間に、それとは関係のないコードを追加しました。
私は約10x10のタイルを持っています。各タイルは、作成されるとすぐにオブザーバーとして追加されます。
[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(playerJumped) name:@"TestNot" object:nil];
そして、私のプレーヤークラスでは、ジャンプが終了するたびに、次のコードで通知を投稿します。
if (self.postNotifications == YES) {
//Also post the notification for all the Tiles.
[[NSNotificationCenter defaultCenter] postNotificationName:@"TestNot" object:self];
}
タイルでNSLog()を使用すると、約3つまたは4つのタイルが通知を受信することがわかります。その後、アプリケーションはEXC_BAD_ACCESSでクラッシュします。それは言うobjc_msgSend() selector name: playerJumped
。しかし、理由はわかりません。クラッシュするよりも最初のもので動作することがわかります。ここでの私のエラーは何ですか?手伝ってくれませんか!Sandro
編集:通知は約100個のオブジェクトによって受信されるため、問題はありますか?