Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/97.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ios NSURLConnectionLegate。如何取消身份验证质询?_Ios_Nsurlconnection_Basic Authentication_Nsurlconnectiondelegate - Fatal编程技术网

Ios NSURLConnectionLegate。如何取消身份验证质询?

Ios NSURLConnectionLegate。如何取消身份验证质询?,ios,nsurlconnection,basic-authentication,nsurlconnectiondelegate,Ios,Nsurlconnection,Basic Authentication,Nsurlconnectiondelegate,我成功地使用了NSURLConnectionLegate非常棒的连接:didReceiveAuthenticationChallenge:委托方法。酷 我想适当地支持让用户取消身份验证挑战。因此,我提供给用户的GUI有一个取消按钮,问题是该按钮后面应该发生什么行为 目前我执行此操作[[challenge sender]cancelAuthenticationChallenge:challenge],并且我已经实现了NSURLConnectionLegate方法连接:didCancelAuthen

我成功地使用了NSURLConnectionLegate非常棒的
连接: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]。这就是这里的奇怪之处。这就好像这个方法是一个禁止操作的方法。它似乎什么都不做。我只是修复了我问题中的错误。