Ios 对URLSession的任务级身份验证挑战:将调用哪个确切的委托方法
当涉及到Ios 对URLSession的任务级身份验证挑战:将调用哪个确切的委托方法,ios,nsurlsession,ios10,Ios,Nsurlsession,Ios10,当涉及到URLSession的任务级身份验证时,我在苹果的文档中看到了两种不同的方法签名: 例如,是对urlSession(\uu,task:,didReceive:,completionHandler:)的引用。 例如,是对urlSession(\uu,task:,didReceiveChallenge:completionHandler)的引用。 哪一个是正确的(或者两者在不同的情况下都适用) 直觉上,人们可能会认为第一个是打字错误(文档中的错误),而第二个适用。但对iOS头文件的研究表
URLSession
的任务级身份验证时,我在苹果的文档中看到了两种不同的方法签名:
- 例如,是对
urlSession(\uu,task:,didReceive:,completionHandler:)的引用。
- 例如,是对
urlSession(\uu,task:,didReceiveChallenge:completionHandler)的引用。
那么(在iOS 10中)将调用
urlsessionelegate
的哪种方法来向应用程序提供(任务级)身份验证质询呢?(我将暂时使用第一种方法。)这实际上是相同的委托方法。在第二个示例中,您刚刚将Swift签名弄错了。请参阅并在Swift和Objective-C之间切换。因此,实际签名确实是urlSession(\uu,task:,didReceive:,completionHandler:)
在这种情况下,苹果没有将签名弄错(请参阅第二个类似文档)?可能是因为本文件标记为预发布(从2016年6月开始)。进一步检查:Objective-C和Swift版本之间的签名可能略有不同。我对第一个样本确实适用的Swift版本感兴趣。是的,签名在Swift和Objective-C中确实不同。不,这不是错误。在Objective-C中,我们需要指定接收到的内容以区分几种可能性。在Swift中,我们可以这样做,因此不需要在方法名称中添加(冗余)信息。好的,现在就知道了。谢谢。