我成功地使用了NSURLConnectionDelegate中相当棒的connection:didReceiveAuthenticationChallenge:委托方法。凉爽的。
我想适当地支持让用户取消身份验证质询。所以,我提供给用户的GUI有一个cancel按钮,问题是这个按钮后面应该发生什么行为。
目前我正在做这个[[challenge sender] cancelAuthenticationChallenge:challenge],并且我已经实现了NSURLConnectionDelegate方法connection:didCancelAuthenticationChallenge:。在Apple文档中,我注意到这个回调的注释相当模棱两可:
作为iOS 5.0之前的非正式协议的一部分提供。
哈?实际触发的回调方法是connection:didFailWithError:
有没有人能帮我解释一下?
发布于 2012-05-05 05:02:14
是iOS 5.0之前的非正式协议的一部分。
这只意味着有问题的委托方法不是正式协议的一部分,即使用@ protocol指令声明的协议。非正式协议中的方法通常随调用它们的类一起记录。
实际触发的回调方法是connection:didFailWithError:
对于成为iOS 5.0之前的非正式协议的一部分,-connection:didCancelAuthenticationChallenge:和-connection:didFailWithError:都有相同的说明。听起来您的连接无法加载数据,而不是被取消。如果你通过拨打以下电话取消挑战,你可能会收到前一条消息:
[[challenge sender] cancelAuthenticationChallenge:challenge];https://stackoverflow.com/questions/10452403
复制相似问题