У меня есть экран с панелью поиска, когда я покидаю этот экран, я просто отменяю текущую работу urlSessionDataTask. Вот мой код, которым я пользуюсь:
override func viewWillDisappear(_ animated: Bool) {
if self.lastURLSessionDataTask != nil, self.lastURLSessionDataTask!.state == .running{
self.lastURLSessionDataTask!.cancel();
self.lastURLSessionDataTask = nil;
}
super.viewWillDisappear(animated);
}
Как вы можете видеть в коде, я сначала проверяю, не равна ли моя переменная lastURLSessionDataTask
нулю, затем проверяю ее состояние, если она запущена, то отменяю эту задачу.
Теперь проблема в том, что он дает сбой с подробностями: [NSURLSessionDataTask state]: unrecognised selector sent to instance
.
Также обратите внимание: это не приводит к сбою каждый раз, это появляется случайным образом в любое время. Я не уверен, что я делаю неправильно. Может у кого есть идеи? Кто-нибудь сталкивался с этим раньше?