我正在异步运行AFNetworking。见下面的代码。
我想同步运行它来进行包下载(我需要获取人们可以选择的服务列表)。我怎么能这样做?
感谢。
NSMutableURLRequest *apiRequest =
[self multipartFormRequestWithMethod:@"POST"
path: pathstr
parameters: params
constructingBodyWithBlock: ^(id <AFMultipartFormData>formData)
{
//TODO: attach file if needed
}];
AFJSONRequestOperation* operation = [[AFJSONRequestOperation alloc] initWithRequest: apiRequest];
[operation setCompletionBlockWithSuccess:^(AFHTTPRequestOperation *operation, id responseObject) {
//success!
completionBlock(responseObject);
} failure:^(AFHTTPRequestOperation *operation, NSError *error) {
//failure :(
NSLog(@"%@", error);
completionBlock([NSDictionary dictionaryWithObject:[error localizedDescription] forKey:@"error"]);
}];
[operation start];
答案 0 :(得分:1)
我想同步运行它来进行包下载(我需要获取人们可以选择的服务列表)。我怎么能这样做?
AFNetworking不支持同步操作。
另一方面,您几乎不想在UI线程上进行同步操作,因为UI会变得无法响应。
(我需要获取人们可以选择的服务列表)
您可以做的是显示一些UI提示,表示在异步操作正在进行时正在下载服务列表。