記事一覧

NSTimer

うーん、NSTimerは微妙に難しいなぁ〜
インスタンスは保持したまま停止/再開ってどうやるんだ。
invalidateするとインスタンス自体消滅しちゃうっぽいし。
スケジュールをずっと先に設定するとか?
それもなんか不毛なのでひとまず自前で bool timerWorking なるものを用意して timerCallback の冒頭で
if(!timerWorking){return;}
とかしてある。なんか納得いかんけどひとまずそんなにパフォーマンスも落ちてないっぽいしいいかな・・・・

そもそも cocosNode 絡みだったら schedule: が使えるんだけど、シーンを越えて保持したいオブジェクトだから cocosNode に紐付いてると不便なんだよねえ。


('10 8/2追記)
invalidate 済みの myTimer へメッセージを送ろうとしたときに Bad Access になるのを回避したいだけなら
[myTimer invalidate];
した後に
myTimer = nil;
とすれば良いらしい。ウチの場合もこれで良かったんだな・・
http://www.iphonedevsdk.com/forum/iphone-sdk-development/22040-exe-bad-access-error.html