我正在使用sendAsynchronousRequest执行我的请求:queue:completionHandler:.但我不知道如何处理摘要身份验证.我想用委托方法dIDReceiveAuthenticationChallenge的NSURLConnectionDelegate这应该可行吗?我在.h文件中声明了NSURLConnectionDelegate,并在实现中添加了该方法.但没有任何反应.有关如何使用“sendAsynchronousRequest:queue:completionHandler:”处理此问题的任何建议?
NSURL *url = [NSURL URLWithString:@"http://restAPI/"];NSURLRequest *urlRequest = [NSURLRequest requestWithURL:url];NSOperationQueue *queue = [[NSOperationQueue alloc] init];[NSURLConnection sendAsynchronousRequest:urlRequest queue:queue completionHandler:^(NSURLResponse *response,NSData *data,NSError *error) { if ([data length] > 0 && error == nil) [self receivedData:data]; else NSLog(@"error"); }];- (voID)connection:(NSURLConnection *)connection dIDReceiveAuthenticationChallenge:(NSURLAuthenticationChallenge *)challenge {NSLog(@"dID get auth challenge"); }解决方法 连接:dIDReceiveAuthenticationChallenge:仅当您将实例指定为连接的委托时才会被调用.为此,您需要使用不同的方法来启动请求,例如:
NSURL *url = [NSURL URLWithString:@"http://restAPI/"];NSURLRequest *urlRequest = [NSURLRequest requestWithURL:url];NSURLConnection *connection = [NSURLConnection connectionWithRequest:urlRequest delegate:self]
您需要实现进一步的委托方法才能接收响应.
请注意,不建议使用connection:dIDReceiveAuthenticationChallenge:以支持其他委托方法(请参阅此page).
总结以上是内存溢出为你收集整理的xcode – NSURLConnection sendAsynchronousRequest:queue:completionHandler:不调用委托方法 – didReceiveAuthenticationChallenge全部内容,希望文章能够帮你解决xcode – NSURLConnection sendAsynchronousRequest:queue:completionHandler:不调用委托方法 – didReceiveAuthenticationChallenge所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)