Когда состояние NSURLSessionStreamTask становится NSURLSessionTaskStateCompleted?
Я создаю NSURLSessionStreamTask
объект и использование [NSURLSessionStreamTask readDataOfMinLength:maxLength:timeout:completionHandler:]
а также [NSURLSessionStreamTask writeData:timeout:completionHandler:]
отправлять и получать данные. Затем я закрываю closeRead
а также closeWrite
методы.
Проблема в том, что звонить [NSURLSession finishTasksAndInvalidate]
в соответствующем сеансе объект не освобождает свою ссылку делегата. Я полагаю, это потому, что состояние задачи все еще остается NSURLSessionTaskStateRunning
по какой-то причине. Для этой задачи не осталось ожидающих операций чтения и записи. Если я вызываю [NSURLSession invalidateAndCancel], ссылка на делегат освобождается.
Есть ли особый способ, как NSURLSessionStreamTask
государство в этом случае должно стать NSURLSessionTaskStateCompleted
?