如何等待块执行完成?我对HTTP请求的上下文感兴趣,其中成功响应在块中执行。特别是这种情况发生在AFNetworking中。
我找到了
dispatch_sync
但不确定如何使用它。
答案 0 :(得分:0)
FSNetworking是我见过的最好的HTTP库。
FSNConnection支持完成块执行。
这是一个例子
NSURL *url = ...; // required
NSDictionary *headers = ...; // optional
NSDictionary *parameters = ...; // optional
FSNConnection *connection =
[FSNConnection withUrl:url
method:FSNRequestMethodGET
headers:headers
parameters:parameters
parseBlock:^id(FSNConnection *c, NSError **error) {
return [c.responseData dictionaryFromJSONWithError:error];
}
completionBlock:^(FSNConnection *c) {
NSLog(@"complete: %@\n error: %@\n parseResult: %@\n", c, c.error, c.parseResult);
}
progressBlock:^(FSNConnection *c) {
NSLog(@"progress: %@: %.2f/%.2f", c, c.uploadProgress, c.downloadProgress);
}];
[connection start];