NSURLConnection与sendAsynchronousRequest一起使用时的延迟响应

时间:2014-07-31 14:39:25

标签: ios ios5 nsurlconnection nsurl

如果我错了,请纠正我。请轻松地继续我。我不是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中对块进行排队,因此无法保证立即执行。

如果我的理解是正确的,那么正确的方法是什么,以便立即处理排队的操作。

0 个答案:

没有答案