2017-09-05 29 views
0

我目前正在尝试制作一个URLSessionDataTask到一个URI。由于URI已重定向,因此我需要找出重定向的(最终)网址是什么。要做到这一点,我想使用URLSessionDataDelegatewillPerformHTTPRedirection方法如何为URLSessionDataTask分配委托?

问题是(这种方法是从它的超类继承URLSessionDelegate):我无法找到一个URLSessionDataTask财产分配委托。

从我的理解,如果一个类(比如,class A)的委托类(比方说,class ADelegate),应该也有内部class A一个属性,它通常与后缀名为delegate。当我们想要实现委托的方法时,我们实例化一个委托类的实例,并将其分配给委托属性。例如:

var instanceA = A() 
var instanceADelegate = ADelegate() 

instanceA.delegate = instanceADelegate 

我理解错了吗?在URLSessionDataDelegate中实现方法的正确方法是什么,然后在URLSessionDataTask内使用它?

回答

1

的问题是:我无法找到一个URLSessionDataTask财产委托由于委托所属的URLSession分配给

。从the docs

协议URLSessionDataDelegate 的NSURLSessionDataDelegate协议规定的 URLSession 对象的委托可以实现处理特定的数据任务的任务级别的事件,并上传任务的方法。

(重点煤矿。)

+0

我想'willPerformHTTPRedirection'实际上是在'URLSessionTaskDelegate'。我如何将它分配给'URLSession'?我是否在'URLSession.shared'上设置了它,如果是这样,怎么办? –

+0

@JoshParadroid请查阅文档https://developer.apple.com/documentation/foundation/urlsession在该页面中搜索术语“委托” – matt

+0

供将来参考:委托在URLSession的构造函数中设置。 –