当NSURLSessionStreamTask的状态变为NSURLSessionTaskStateCompleted时?

时间:2018-07-01 04:55:40

标签: ios objective-c nsurlsession nsurlsessiontask

我创建NSURLSessionStreamTask对象,并使用[NSURLSessionStreamTask readDataOfMinLength:maxLength:timeout:completionHandler:][NSURLSessionStreamTask writeData:timeout:completionHandler:]发送和接收数据。然后,我用closeReadcloseWrite方法关闭它。

问题在于,在相应的会话对象上调用[NSURLSession finishTasksAndInvalidate]不会释放其委托引用。我想这是因为任务的状态由于某种原因仍然保持NSURLSessionTaskStateRunning。此任务没有剩余的未完成读写操作。如果我调用[NSURLSession invalidateAndCancel],则释放委托引用。

在这种情况下,NSURLSessionStreamTask的状态应该变成NSURLSessionTaskStateCompleted的方式有什么特殊的方式吗?

0 个答案:

没有答案