別のJSONリクエストの応答に基づいてサーバーに送信されるJSONリクエストがあります。このメソッドを使用して、レスポンスの処理に使用されているNSURL接続を確認しました。
if(connection == connection1) {
// Connection 1
} else if(connection == connection2) {
// Connection 2
}
これは、次のように送信される最初の接続で機能します。
NSString *jsonStr = [NSString stringWithFormat:@"https://api.flightstats.com/flex/flightstatus/rest/v2/json/flight/status/%@/%@/dep/%@?appId=%@&appKey=%@&utc=false",airline.text,flightnumber.text,datestring,flightAPIIDstring,flightAPIkeystring];
NSURL *jsonurl = [NSURL URLWithString:jsonStr];
flightTrackJSONconnectionrequest = [NSURLRequest requestWithURL:jsonurl];
flighttrackJSONconnection =[[NSURLConnection alloc]
initWithRequest:flightTrackJSONconnectionrequest delegate:self];
if(flighttrackJSONconnection){
jsonresponse = [[NSMutableData alloc] init];
} else {
}
ただし、最初の接続(flighttrackJSONconnection)のconnectionDidFinishLoadingで、このコードを使用すると、2番目の接続の要求がまったく送信されません。
NSString *departjsonStr = [NSString stringWithFormat:@"https://api.flightstats.com/flex/airports/rest/v1/json/iata/%@?appId=%@&appKey=%@",DepartACode,flightAPIIDstring,flightAPIkeystring];
NSURL *departjsonurl = [NSURL URLWithString:departjsonStr];
departairportcheckJSONconnection = [NSURLRequest requestWithURL:departjsonurl];
departairportcheckJSONconnection =[[NSURLConnection alloc]
initWithRequest:departairportcheckJSONconnectionrequest delegate:self];
if(departairportcheckJSONconnection){
departairportlookup = [[NSMutableData alloc] init];
} else {
}
NSLogチェックを接続didFailWithError、接続didReceiveResponse、connectionDidReciveDataに追加して、送信されるNSURLリクエストがflighttrackJSONconnectionリクエストのみであることを確認しました...
だから私は疑問に思っています、私は私のコードで何かを見逃しましたか、それともconnectionDidFinishLoadingを呼び出すときに別のNSURLRequestを送信することは単に不可能ですか?
初心者のように思えたらごめんなさい、ちょっと混乱しています...
また、すべてのJSON解析コード(少なくともflighttrackJSONresponse接続の場合)などはconnectionDidFinishLoadingで正常に機能するため、何かを宣言するのを間違えたわけではなく、違いが生じた場合は、connectionDidFinishLoadingで2つのリクエストを送信しようとしています。 、.hで宣言された独自のNSURLConnectionおよびNSURLRequest名を持つそれらのそれぞれ、私は両方で同じ問題を抱えています。
ヒントやアイデアをありがとう。