Когда состояние NSURLSessionStreamTask становится NSURLSessionTaskStateCompleted?

Я создаю NSURLSessionStreamTask объект и использование [NSURLSessionStreamTask readDataOfMinLength:maxLength:timeout:completionHandler:] а также [NSURLSessionStreamTask writeData:timeout:completionHandler:] отправлять и получать данные. Затем я закрываю closeRead а также closeWrite методы.

Проблема в том, что звонить [NSURLSession finishTasksAndInvalidate] в соответствующем сеансе объект не освобождает свою ссылку делегата. Я полагаю, это потому, что состояние задачи все еще остается NSURLSessionTaskStateRunning по какой-то причине. Для этой задачи не осталось ожидающих операций чтения и записи. Если я вызываю [NSURLSession invalidateAndCancel], ссылка на делегат освобождается.

Есть ли особый способ, как NSURLSessionStreamTask государство в этом случае должно стать NSURLSessionTaskStateCompleted?

0 ответов

Другие вопросы по тегам