使用时如何使用 NSURLConnection 委托回调
+ (void)sendAsynchronousRequest:(NSURLRequest *)request
queue:(NSOperationQueue*) queue
completionHandler:(void (^)(NSURLResponse*, NSData*, NSError*))
方法?
我希望能够访问处理完成块的队列上的缓存委托回调。
使用时如何使用 NSURLConnection 委托回调
+ (void)sendAsynchronousRequest:(NSURLRequest *)request
queue:(NSOperationQueue*) queue
completionHandler:(void (^)(NSURLResponse*, NSData*, NSError*))
方法?
我希望能够访问处理完成块的队列上的缓存委托回调。
你没有。您需要使用 NSURLConnection 方法 initWithRequest:delegate: 而不是 sendAsynchronousRequest 来使用委托回调方法。
像这样使用它
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:或者,也许,这会帮助你
为了使用委托方法,NSURLConnection
您需要实例化一个NSURLConnection
变量。自从
+ (void)sendAsynchronousRequest:(NSURLRequest *)request
queue:(NSOperationQueue*) queue
completionHandler:(void (^)(NSURLResponse*, NSData*, NSError*))
是一个超类方法,你不能使用它。