2013-03-21 109 views
0

如何等待塊執行完成?我對HTTP請求的上下文感興趣,其中成功響應在塊中執行。特別是在AFNetworking中發生這種情況。ios塊等待完成

我發現了 dispatch_sync但不知道如何使用它。

回答

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];