如何在Swift中正确清理NSURLSession

时间:2015-08-06 23:12:25

标签: ios swift nsurlsession 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)
    }

完成课程后,课程不会被删除,以及任何将来上传的课程。回调将第一个类实例化作为自己。上传完成后如何正确清理NSURLSession?

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

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

1 个答案:

答案 0 :(得分:5)

call

session.finishTasksAndInvalidate(), the session will be destroyed after the last task finishes.

or

session.invalidateAndCancel(), the session will be destroyed immediately