Значение переменной, переданное в текущем контроллере представления, не является постоянным - PullRequest
0 голосов
/ 14 апреля 2020

Я изменяю значение переменной в UIViewController, я представлю это следующим образом:

let story = UIStoryboard(name: "Main", bundle: nil)
let vc = story.instantiateViewController(withIdentifier: "downloadcontroller") as! DownloadViewController
vc.isFromChangeLangauge = true    //here
self.present(vc, animated: true)

Представляется новый DownloadViewController, и когда я печатаю переменную isFromChangeLanguage из viewDidLoad в консоли это изменилось на true и все в порядке. Но когда я пытаюсь использовать его в любом из DownloadViewController расширений, в которых я использую делегированные функции, такие как URLSessionDelegate, URLSessionDownloadDelegate, переменная возвращается к значению по умолчанию, равному false

extension DownloadViewController: URLSessionDelegate, URLSessionDownloadDelegate {

    func urlSession(_ session: URLSession, downloadTask: URLSessionDownloadTask, didFinishDownloadingTo location: URL) {

        print("Download finished")
        print("IS FROM CHANGE LAGNAUGE 2: \(self.isFromChangeLangauge)") // HERE
    }
}

Что я пытаюсь сделать здесь, так это то, что я просто хочу знать, представлен ли этот контроллер представления загрузки из контроллера представления языковых настроек или нет.

1 Ответ

0 голосов
/ 14 апреля 2020

Похоже, вы установили переменную в контроллере представления загрузки на = false. Это должно быть isFromChangeLanguague: Bool?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...