2012-11-14 77 views
1

如何使用使用NSURLConnecion代表與NSURLConnection的+ sendAsynchronousRequest

+ (void)sendAsynchronousRequest:(NSURLRequest *)request 
         queue:(NSOperationQueue*) queue 
      completionHandler:(void (^)(NSURLResponse*, NSData*, NSError*)) 

方法時做一個使用NSURLConnection的委託回調?

我想能夠訪問處理完成塊的隊列上的緩存委託回調。

+0

我認爲,高速緩存策略取決於您如何設置您的網址request.Are你問這個? –

回答

3

你不知道。您需要使用NSURLConnection方法initWithRequest:delegate:而不是sendAsynchronousRequest來使用委託回調方法。

+0

這個答案似乎沒有道理。 sendAsynchronousRequest是NSURLConnection的一個類方法。 – geraldWilliam

+0

對不起,我應該更具體。我更新了我的。回答 – rdelmar

0

爲了使用委託方法與NSURLConnection您需要實例化一個NSURLConnection變量。由於

+ (void)sendAsynchronousRequest:(NSURLRequest *)request 
        queue:(NSOperationQueue*) queue 
     completionHandler:(void (^)(NSURLResponse*, NSData*, NSError*)) 

是您不能使用它的超類方法。

1

就使用這樣的

NSURL *url = [NSURL URLWithString:kURL]; 

NSMutableURLRequest *request = [NSMutableURLRequest requestWithURL  : url 
                 cachePolicy  : NSURLRequestReloadIgnoringCacheData 
                 timeoutInterval : 30]; 
NSString *params = [NSString stringWithFormat:@"param=%d",digits]; 

[request setHTTPMethod:@"POST"]; 
[request setHTTPBody:[params dataUsingEncoding:NSUTF8StringEncoding]]; 

[NSURLConnection sendAsynchronousRequest:request 
            queue:[NSOperationQueue mainQueue] 
         completionHandler:^(NSURLResponse *response, NSData *taxiData, NSError *error) { 

//Snippet - Do sth. (block) 

} 

希望這有助於。

編輯:對不起,我沒有清楚地閱讀你的問題。 + sendAsynchronousRequest不需要委託方法。

EDIT2:或者,也許,this將幫助你

相關問題