コードは次のように表示されます。ボタンをクリックすると、4秒ごとにタイマーとタイマー呼び出しメソッドがアクティブになります。ただし、サーバーがデータを返すのに4秒では不十分な場合があります。ただし、サーバーが1秒以内にデータを返し、ユーザーがそれ以上待機するのが適切でない場合は、タイマー値を増やすことも適切な解決策ではありません。この場合の最良/最適な解決策はわかりません。
-(IBAction)play:(id)sender{
timer=[NSTimer scheculedWith TimerInterval(4.0) target:(self)selector:@selector(httpRequest) userinfo:nil repeats:YES]
}
-(void)httpRequest{
_weak ASIHTTPRequest *request1 = [ASIHTTPRequest requestWithURL:url1];
[request1 setCompletionBlock:^{
NSString *responseString1 = [request1 responseString];
//dispatch_async(backgroundProcess1,^(void){
[self plotOverlay1:responseString1];
//});
}];
[request1 setFailedBlock:^{
NSError *error=[request1 error];
NSLog(@"Error: %@", error.localizedDescription);
}];
[request1 startAsynchronous];
}