1

を使用するときに NSURLConnection デリゲート コールバックを使用する方法

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

方法?

完了ブロックを処理するキューでキャッシュ デリゲート コールバックにアクセスできるようにしたいと考えています。

4

3 に答える 3

3

あなたはそうしない。デリゲートコールバックメソッドを使用するには、sendAsynchronousRequestの代わりにNSURLConnectionメソッドinitWithRequest:delegate:を使用する必要があります。

于 2012-11-14T18:17:39.467 に答える
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:または、おそらく、これが役立ちます

于 2012-11-15T06:30:01.257 に答える
0

デリゲート メソッドを使用するには、変数NSURLConnectionをインスタンス化する必要があります。NSURLConnection以来

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

使用できないスーパークラス メソッドです。

于 2012-11-14T18:59:16.887 に答える