2011-12-19 12 views
1

私はそれがCore Dataと関係があると仮定しますが、GoogleとSOの検索は私を助けてくれません。_CDSnapshot_EntityNameとは何ですか?

NSTimerを使用して特定の時間後にモーダルビューを表示しています。ユーザーがビューとやりとりしたときにタイマを無効にしている場合は、タイマーをリセットするか、ビューを閉じます。

これは私が取得していますエラーメッセージです:

-[_CDSnapshot_Employee_ invalidate]: unrecognized selector sent to instance 

だから、私の無効化メッセージのいずれかがこのCDSnapshotに送信されることが表示されます。私の意見の多くは、このタイマーを実行しているので、捕まえにくいです。

CDSnapshotはどのようなもので、無効化が送信されたのですか?

答えて

4

あなたのタイマーが割り当て解除されたように見え、もう1つのオブジェクトはそのメモリアドレスを使用しているようです。

タイマーがスケジュールされると、実行ループによって保持されます。タイマーが実行ループから削除されると(実行されたか、または無効化されたために)、実行ループはそれを解放し、保持していなければ割り当てを解除することができます。タイマーが無効になったときに変数をnilに設定しないで、再度使用しようとすると、その問題が発生します。

+0

ありがとう、私は投稿した後に私のタイマーをnilに設定し、問題が再びポップアップするのを見たことがありません。これは論理的な説明のように聞こえる。 –

+0

Nicolas、同じ問題がありますが、いくつかのUITableViewメソッドが必要です: '[_CDSnapshot_Entity tableView:didSelectRowAtIndexPath];'。理由は何でしょうか?つまり、私のUITableViewの割り当てが解除された場合、didSelectメソッドをどのように受け取ることができるのでしょうか? –

関連する問題