我有一个 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 上,当我使用此代码时,根本不会发出第二个连接的请求:
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 个请求,他们每个人都有自己的 NSURLConnection 和 NSURLRequest 在.h上声明的名称,我对两者都有同样的问题。
感谢任何提示或想法家伙..