Например, Вы можете использовать простую организацию синглтона другого ViewController (SecondScreen
) с var main
(в случае, как обычно, когда SecondScreen
инициируется через раскадровку):
class SecondScreen : UIViewController {
// 1. add this var
static var main : SecondScreen? = nil
// 2. Your some UI element
@IBOutlet weak var textButton: UIButton!
// 3. add this method
func updateUI(string : String) {
textButton.setTitle(string, for: .normal)
}
// 4. setting a var
override func viewDidLoad() {
if SecondScreen.main == nil {
SecondScreen.main = self
}
}
// ... another your and standard methods
}
И вы можете обновить свой SecondScreen следующим образом:
let v = SecondScreen.main
v?.updateUI(string: "yourString")
Также я рекомендую вам вызвать метод async:
DispatchQueue.main.async {
SecondScreen.main?.updateUI(withString : string)
}
Я предлагаю вам изучитьподробнее о синглетонах ...