如何在Swift中正确清理NSURLSession

Qui*_*etz 2 ios nsurlsession swift deinit

我正在使用以下代码在类的init上创建NSURLSession:

dispatch_once(&Static.token) { [unowned self] in
        let configuration = NSURLSessionConfiguration.backgroundSessionConfigurationWithIdentifier(CONSTANTS.BackgroundSessionUploadIdentifier)
        Static.session = NSURLSession(configuration: configuration, delegate: self, delegateQueue: nil)
    }
Run Code Online (Sandbox Code Playgroud)

完成后,类没有被删除,任何未来上传的'回调都将第一个类实例化作为自己.上传完成后,如何正确清理NSURLSession?

我的全班都可以在这里看到:

https://gist.github.com/aishowdown/e88f6595e5a23d936e29

nRe*_*wik 6

呼叫

session.finishTasksAndInvalidate(),会话将在最后一个任务完成后销毁.

要么

session.invalidateAndCancel(),会议将立即销毁