私の目標は、アプリケーションがバックグラウンドで実行されている場合に限り、5秒ごとに繰り返しタイマーを実行することです。私はいくつかのアイデアを試しましたが、うまくいかないようです。applicationDidEnterBackgroundで繰り返しタイマーを実行する
アイデア1:1度でも実行されません。
- (void)applicationDidEnterBackground:(UIApplication *)application {
[NSTimer scheduledTimerWithTimeInterval:(5.0/5.0) target:self selector:@selector(check_expiry) userInfo:nil repeats:YES];
}
アイデア2:5秒ごとに実行しますが、私はループを停止しているように見えることはできません。
- (void)applicationDidEnterBackground:(UIApplication *)application {
counter = YES;
while (counter) {
sleep(5);
[self check_expiry];
}
// Counter is set to NO in willEnterForeground and didBecomeActive, but this loop continues to run due the sleep();
}
がどのように私はこのループを正しく実行するために得ることができますか?
ありがとうございます!