秒ごとに更新する必要がある iOS アプリ (FW: 5.0+ & ARC) に取り組んでいます。
現在、私はこれをメソッド内に持っています(-ViewDidLoadのときにperformSelectorで呼び出されます):
-(void)FireOnload {
counter = [NSTimer timerWithTimeInterval:1.0 target:self selector:@selector(countDownTime) userInfo:nil repeats:YES];
[counter fire];
[[NSRunLoop mainRunLoop] addTimer:counter forMode: NSDefaultRunLoopMode]; // <-- Causing Problem
}
-(void)countDownTime
{
double timeNow = [[NSDate date] timeIntervalSince1970];
double timeLeft = timeEnding - timeNow;
if(timeLeft < 60) // Less then 60 seconds, do something.
{
//Do Stuff
}
}
変数はcounter
ヘッダーで NSTimer として呼び出されます。[counter fire]
1 秒後ではなく、ビューが読み込まれるとすぐに呼び出されるように、明示的に呼び出します。
これは iOS シミュレーターでは問題なく動作し、毎秒起動しますが、iDevice に移動するとクラッシュします。
この行をコメントアウトしましたがNSRunLoop
、iDevice はクラッシュしません。ただし、毎秒更新されなくなりました。
ここで何が間違っていますか?