0

如何等待块执行完成?我在 HTTP 请求的上下文中对此感兴趣,其中成功响应在一个块中执行。这尤其发生在 AFNetworking 中。

我已经找到 dispatch_sync但不知道如何使用它。

4

1 回答 1

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];
于 2013-03-21T06:53:14.213 回答