NSURLConnectionDelegate.如何取消身份验证质询



我成功地使用了NSURLConnectionDelegate的相当棒的connection:didReceiveAuthenticationChallenge:委托方法。凉。

我想正确支持让用户取消身份验证质询。因此,我呈现给用户的 GUI 有一个取消按钮,问题是该按钮后面应该发生什么行为。

目前我做这个[[challenge sender] cancelAuthenticationChallenge:challenge]我已经实现了NSURLConnectionDelegate方法connection:didCancelAuthenticationChallenge:。在 Apple 文档中,我注意到这个回调的注释相当模棱两可:

作为 iOS 5.0 之前的非正式协议的一部分提供。

哼?实际触发的回调方法是connection:didFailWithError:

有人可以在这里提供一些信息吗?

作为 iOS 5.0 之前的非正式协议的一部分提供。

这只是意味着所讨论的委托方法不是正式协议的一部分,即使用 @protocol 指令声明的协议。非正式协议中的方法通常与调用它们的类一起记录。

实际触发的回调方法是 connection:didFailWithError:

-connection:didCancelAuthenticationChallenge:-connection:didFailWithError:对成为iOS 5.0之前的非正式协议的一部分有着相同的说明。听起来您的连接无法加载数据,没有被取消。如果您通过以下电话取消挑战,您可能会收到前一条消息:

[[challenge sender] cancelAuthenticationChallenge:challenge];

如取消连接中所述。

最新更新