Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/121.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 对URLSession的任务级身份验证挑战:将调用哪个确切的委托方法_Ios_Nsurlsession_Ios10 - Fatal编程技术网

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头文件的研究表明,第一个文件适用,第二个文件是打字错误或过时


那么(在iOS 10中)将调用
urlsessionelegate
的哪种方法来向应用程序提供(任务级)身份验证质询呢?(我将暂时使用第一种方法。)

这实际上是相同的委托方法。在第二个示例中,您刚刚将Swift签名弄错了。请参阅并在Swift和Objective-C之间切换。因此,实际签名确实是
urlSession(\uu,task:,didReceive:,completionHandler:)

在这种情况下,苹果没有将签名弄错(请参阅第二个类似文档)?可能是因为本文件标记为预发布(从2016年6月开始)。进一步检查:Objective-C和Swift版本之间的签名可能略有不同。我对第一个样本确实适用的Swift版本感兴趣。是的,签名在Swift和Objective-C中确实不同。不,这不是错误。在Objective-C中,我们需要指定接收到的内容以区分几种可能性。在Swift中,我们可以这样做,因此不需要在方法名称中添加(冗余)信息。好的,现在就知道了。谢谢。