0

コードの一部を継続的に実行するメソッド (viewDidLoad など) はありますか? リモートサーバーの値を継続的にチェックできるようにする必要があります。

4

3 に答える 3

1

これを行う方法は、NSTimerを設定することです。

-(void)startCheckingValue
{
    mainTimer = [NSTimer timerWithTimeInterval:1.0 target:self selector:@selector(checkValue:) userInfo:nil repeats:YES];
    [[NSRunLoop mainRunLoop] addTimer:mainTimer forMode:NSDefaultRunLoopMode];
}

-(void)checkValue:(NSTimer *)mainTimer
{
    //Placeholder Function, this is where you write the code to check your value on the remote server
}

timerWithTimeInterval関数はあなたが興味を持っているものであり、あなたがそれを渡す必要がある主なものは、上で見たように、あなたがそれを渡すセレクターを持つ関数を実行する間隔です。時間間隔は秒単位であるため、現在は毎秒チェックするように設定されていますが、これはおそらく速すぎます。

于 2012-07-24T17:51:06.907 に答える
1

NSTimerを使用して、x秒ごとに同じコードブロックを実行します。ただし、サーバーに多くの余分な負荷がかかり、禁止される可能性があることを考えると、それはあなたが望んでいることではないと思います。したがって、おそらくより良い方法があります。

NSTimerの使用に関するアップルのページ

于 2012-07-24T17:51:27.827 に答える
-1

これにはNSTimerを使用する必要があります。

NSTimerインターフェイスで次のようなオブジェクトを宣言します。

NSTimer *timer;

.mviewDidLoadメソッドに以下の行を追加します。

timer = [NSTimer scheduledTimerWithTimeInterval:0.5 target:self selector:@selector(timerFireMethod:) userInfo:nil repeats:YES];

メソッドではtimerFireMethod、サーバーの呼び出しやその他の作業を行う必要があります。

于 2012-07-24T17:59:45.823 に答える