Доступ к var из нового файла swift из класса

#swift

#swift

Вопрос:

У меня есть этот класс viewcontroller:

 class ThirdScreenViewController: UIViewController {

        override func viewDidLoad() {
            super.viewDidLoad()

        }
    
    var number = 1
    @IBAction func pressed(_ sender: UIButton) {
        number = 2 
    }

}
  

И у меня есть другой файл swift. (Не другого класса контроллера представления)

 var newNumber = ThirdScreenViewController.number
  

Это не работает. Как я могу получить доступ в моем новом файле swift к этой переменной (2) из другого класса View Controller?

Ответ №1:

Самым простым решением было бы сделать свойство статическим:

 class ThirdScreenViewController: UIViewController {

        override func viewDidLoad() {
            super.viewDidLoad()

        }
    
    static var number = 1
    @IBAction func pressed(_ sender: UIButton) {
        ThirdScreenViewController.number = 2 
    }
} 
  

После этого вы должны быть в состоянии вызвать переменную, как указано в вашем примере:

 var newNumber = ThirdScreenViewController.number
  

Но использование статических свойств в таком случае — не лучшая практика.