1

我正在创建一个AVAssetDownloadURLSession

这是我的代码:

let config = URLSessionConfiguration.background(withIdentifier: "background")
let avSession = AVAssetDownloadURLSession(configuration: config, assetDownloadDelegate: self, delegateQueue: nil)

let any : Any = avSession
print("any as? AVAssetDownloadURLSession \(any as? AVAssetDownloadURLSession)") // always returns nil        

现在,如果我打印出来avSession,它会说它是一个__NSURLBackgroundSession,而不是一个AVAssetDownloadURLSession。如果我分配avSession给另一个变量(在本例中为 Any),然后稍后再向下转换,它会失败。

这是一个真正的问题,因为我确实需要这样做。为什么我不能在不失败的情况下沮丧呢?如果我检查 的内存地址avSession,然后在调试器中检查任何一个,它们都具有相同的地址。但它最肯定(根据调试器和运行时本身)不是AVAssetDownloadURLSession.

感谢您对此的任何帮助。

4

0 回答 0