#ios #swift #xcode
#iOS #swift #xcode
Вопрос:
Я хочу увеличить количество меток, нажав на кнопку, но метка находится в дочернем контроллере представления.
Я хочу увеличить количество меток (2), нажав на кнопку отметить для просмотра (1).
Я объявил переменную в контроллере представления как:
var value:Int = 0
Затем на IBAction кнопки я сделал это:
@IBAction func buttonTapped(_ sender:UIButton){
value = value 1
}
Это код для доступа к контроллеру дочернего представления:
var containerVc: UIViewController?
override func prepare(for segue: UIStoryboardSegue,sender: Any?){
if segue.identifier == "identifier" {
let childVc = segue.destination as! ChildVC
childVc.label.text = "(value)" // Unexpectedly found nil
}
}
Я получаю ошибку, которую я прокомментировал выше.
Комментарии:
1. Вы подключались
label
сstoryboard/xib
помощью toViewController
?2. @Kamran Да, я это сделал.
3. Где ваш переход к выполнению?
4. @sekoyaz Я использовал метод подготовки в контроллере представления.
5. На момент перехода розетки еще не подключены, поэтому он равен нулю. Кроме того, вы никогда не должны напрямую изменять выходы другого VC. Вместо этого передайте свое значение свойству дочернего VC, а затем обновите метку в viewDidLoad в дочернем VC.