Ios NSURLConnectionLegate。如何取消身份验证质询?
我成功地使用了NSURLConnectionLegate非常棒的Ios NSURLConnectionLegate。如何取消身份验证质询?,ios,nsurlconnection,basic-authentication,nsurlconnectiondelegate,Ios,Nsurlconnection,Basic Authentication,Nsurlconnectiondelegate,我成功地使用了NSURLConnectionLegate非常棒的连接:didReceiveAuthenticationChallenge:委托方法。酷 我想适当地支持让用户取消身份验证挑战。因此,我提供给用户的GUI有一个取消按钮,问题是该按钮后面应该发生什么行为 目前我执行此操作[[challenge sender]cancelAuthenticationChallenge:challenge],并且我已经实现了NSURLConnectionLegate方法连接:didCancelAuthen
连接:didReceiveAuthenticationChallenge:
委托方法。酷
我想适当地支持让用户取消身份验证挑战。因此,我提供给用户的GUI有一个取消按钮,问题是该按钮后面应该发生什么行为
目前我执行此操作[[challenge sender]cancelAuthenticationChallenge:challenge]
,并且我已经实现了NSURLConnectionLegate方法连接:didCancelAuthenticationChallenge:
。在Apple文档中,我注意到这个回调有一个相当模糊的注释:
作为iOS 5.0之前的非正式协议的一部分提供
嗯?实际触发的回调方法是connection:didFailWithError:
有人能在这里说点什么吗
作为iOS 5.0之前的非正式协议的一部分提供
这只是意味着所讨论的委托方法不是正式协议的一部分,即使用@protocol指令声明的协议。非正式协议中的方法通常与调用它们的类一起记录
实际激发的回调方法是connection:didFailWithError:
-connection:didCancelAuthenticationChallenge:
和-connection:didFailWithError:
在成为iOS 5.0之前的非正式协议的一部分方面都有相同的说明。听起来您的连接无法加载数据,而不是被取消。如果您通过拨打以下电话取消挑战,您可能会收到前一条消息:
[[challenge sender] cancelAuthenticationChallenge:challenge];
如中所述。Caleb-实际上,我的问题中有一个bug,我正在调用[[challenge sender]cancelAuthenticationChallenge:challenge]。这就是这里的奇怪之处。这就好像这个方法是一个禁止操作的方法。它似乎什么都不做。我只是修复了我问题中的错误。