Допустим, у меня есть два контроллера UIView: view1 и view2 .
view1 - первый (основной) viewController для TabBarController, и есть кнопка B1 , которая запускает переход к view2 . У меня есть UITextView в view1 (называемый textView ), который обновляется несколько раз, используя следующий код:
DispatchQueue.main.async {
self.textView.text = self.textView.text + "some value"
}
Когда я захожу в view2 с помощью кнопки B1 , все еще фоновые процессы выполняются для view1 , и они пытаются обновить textView используя приведенный выше код, но мы находимся в view2 и обновление текста не может произойти. В результате, когда я возвращаюсь к view1 , textview становится пустым и больше не обновляется. Любое предложение о том, как решить эту проблему?
Другими словами, некоторые сетевые коммуникации часто выполняются в view1 , и они обновляют textview . Он работает, пока я нахожусь в view1 . Но когда я перехожу ко второму viewController ( view2 ) и возвращаюсь к view1 (используя Segue ), textview становится пустым и никогда не обновляется, даже если предыдущие фоновые процессы работали и пытались обновить текст, когда я был в view2 (поэтому моя проблема в том, что они пытаются обновить первый объект textView, а не второй, Наверное?)