0

我有以下代码向我的 api 发出请求:

-(void)makeApiCall:(NSString *)function params:(NSDictionary *)params notificationName:(NSString *)notificationName
{    
NSURL *url = [NSURL URLWithString:kBaseUrl];

AFHTTPClient *httpClient = [[AFHTTPClient alloc] initWithBaseURL:url];
httpClient.parameterEncoding = AFFormURLParameterEncoding;

NSMutableURLRequest *request = [httpClient requestWithMethod:@"POST" path:[NSString stringWithFormat:@"%@/%@",kApiBaseUrl,function] parameters:params];


NSOperationQueue *queue = [[NSOperationQueue alloc] init];
[NSURLConnection sendAsynchronousRequest:request queue:queue completionHandler:^(NSURLResponse *response, NSData *data, NSError *error) {
    NSLog(@"complete");
//..My code        
}];    
}

我的问题是,在 NSLog(@"complete") 之后,应用程序被冻结了 5 秒。我该如何解决这个问题?

谢谢。

4

1 回答 1

1

queue参数是调度完成处理程序块sendAsynchronousRequest的队列 。如果您在完成处理程序中进行任何 UI 更新,那么您可能应该调用该方法

queue:[NSOperationQueue mainQueue]
于 2013-06-05T11:41:44.120 回答