私はこれに対して多くの異なる方法を試しました。 JSON APIを呼び出してレスポンスを取得し、キー値を保存してから別のパラメータで再度呼び出したいとします。最近では、forループでURLメソッドを呼び出して、通知がポストされるときにNSNotificationをconnectionDidFinishLoading:
に、NSLogging値をオブザーバにポストしてみました。しかし、それは最終呼び出しの値を複数回ログに記録するだけです。私は、接続の初期化のためにこれを使用複数のNSURLConnectionが次々に呼び出しますか?
...
eventConnection=[[NSURLConnection alloc]initWithRequest:[NSURLRequest requestWithURL:[NSURL URLWithString:urlString]] delegate:self startImmediately:NO];
[eventConnection scheduleInRunLoop: [NSRunLoop currentRunLoop] forMode:NSDefaultRunLoopMode];
[eventConnection start];
これは、デリゲートメソッドです...
-(void)connectionDidFinishLoading:(NSURLConnection *)connection
{
NSNotification *eventNotification=[NSNotification notificationWithName:@"eventsFound" object:nil userInfo:responseDict];
[[NSNotificationQueue defaultQueue]enqueueNotification:eventNotification postingStyle:NSPostNow coalesceMask:NSNotificationCoalescingOnName forModes:nil];
}
私はこれを達成することができますどのようになどの任意の提案ですか?
[eventConnection scheduleInRunLoop:[NSRunLoop currentRunLoop] forMode:NSDefaultRunLoopMode]; [eventConnection start]; これは、順番に1つずつ順番にAPIを呼び出すとは思いませんか? –
これらは、次のように順番に開始されます。二番目を始める。三番目を始める...しかし、あなたが望むのは、最初のものが完成した後に2番目のものを始めることです。 – sergio