使用 sendAsyncRequest:queue:completionHandler:时跟踪重定向



当使用该方法发送请求时发生重定向时,如何调用自定义代码:

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

我希望复制 NSURLConnectionDelegate 方法的行为:

- (NSURLRequest *)connection:(NSURLConnection *)connection willSendRequest:(NSURLRequest *)request redirectResponse:(NSURLResponse *)redirectResponse

我认为您无法复制该行为,因为sendAsynchronousRequest只调用代码块中提供给它的完成处理程序。

似乎您必须为此目的使用委托方法。我认为使用sendAsynchronousRequest比普通NSURLConnection没有任何好处,除了您必须保留 NSMutableData 的 ivar 和可能的 NSURLConnection(如果每个类实例有多个)。

最新更新