33

GKSession を作成しました。そのオブジェクトが作成されると、デバイスの可用性の検索が開始されます。

 - (void)session:(GKSession *)session peer:(NSString *)peerID didChangeState:(GKPeerConnectionState)state {

このメソッドを 60 秒ごとに呼び出したいのですが、どうすればよいですか?

4

6 に答える 6

94

使用するNSTimer

NSTimer* myTimer = [NSTimer scheduledTimerWithTimeInterval: 60.0 target: self
                                   selector: @selector(callAfterSixtySecond:) userInfo: nil repeats: YES];

60.0 秒ごとに、iOS は以下の関数を呼び出します。

-(void) callAfterSixtySecond:(NSTimer*) t 
{
    NSLog(@"red");
}
于 2011-04-15T09:10:08.547 に答える
13

NSTimer を scheduleWithTimeInterval に設定すると、すぐに呼び出されます。使用できます

  [self performSelector:@selector(doSomething) withObject:nil afterDelay:60.0f];
于 2014-05-13T14:58:54.457 に答える
2

スウィフト 3:

Timer.scheduledTimer(withTimeInterval: 60, repeats: true, block: { (timer) in 
print("That took a minute")
})
于 2017-07-14T22:24:29.940 に答える
0

あなたはスケジュールされた方法を使うことができます...

-(void) callFunction:(CCTime)dt 
{
    NSLog(@"Calling...");
}

これを使用して上記の関数を呼び出すことができます...

[self schedule:@selector(callFunction:) interval:60.0f];
于 2011-04-15T09:24:15.460 に答える