如果我错了,请纠正我。请轻松地继续我。我不是iOS的专家。
我尝试使用两种方法发送HTTP请求。
1)
NSURLConnection *theConnection = [[NSURLConnection alloc] initWithRequest:theRequest delegate:self];
响应如此之快,获得响应的时间延迟是不变的。另一项工作是使用委托机制处理响应数据。
因此我接近了(2)
2)。
[NSURLConnection sendAsynchronousRequest:theRequest
queue:[NSOperationQueue mainQueue]
completionHandler:^(NSURLResponse *response, NSData *data, NSError *error){
NSString *strData = [[NSString alloc]initWithData:data encoding:NSUTF8StringEncoding];
NSLog (@" THE RESPONSE DATA IS %@", strData);
UIAlertView *alView = [[UIAlertView alloc] initWithTitle:@"Process Done" message:@"MY Message" delegate:nil cancelButtonTitle:@"Cancel" otherButtonTitles:@"OK", nil];
[alView show];
NSMutableData *mData = [NSMutableData dataWithData:data];
[self parseXML:mData]; // XML Parsing.
}];
使用(2)方法,我可以看到获得响应的延迟不一致。
我的理解
由于我在NSOperationQueue中对块进行排队,因此无法保证立即执行。
如果我的理解是正确的,那么正确的方法是什么,以便立即处理排队的操作。