Привет всем Я делаю курс в Udemy, а код требует добавления кода в функции viewDidLoad, как показано ниже:код в viewDidLoad запускается каждый раз, когда он называется
override func viewDidLoad() {
super.viewDidLoad()
placesArray.append(["name":"Taj Mahal", "lat":"27.175607", "lon":"78.042112"])
}
Массив Append должен работать только один раз, однако, когда я перехожу к другому viewController и возвращаюсь, он запускает код для добавления снова. Итак, теперь у меня есть массив с 2 строками, оба из которых - Тадж-Махал.
Я думал, что функция viewDidLoad запускает код только один раз?
Есть ли способ обойти это?
Спасибо.
Приложение: Я использую Swift, поэтому я не вижу никакого выделения и init при создании и запуске viewController. И, как ни странно, в этом видеоролике он работает в viewDidLoad, и тренер использует раскадровку для перехода от исходного контроллера табличного представления к виду карты на контроллере представления и просто имеет кнопку «Назад» на карте, которая показывает, что segue's обратно к контроллеру табличного представления через раскадровку. - Может быть, потому, что у меня есть последняя версия языка Swift, и тренер использовал более раннюю версию (потому что я заметил некоторые незначительные отличия в кодировании ранее), но вы никогда не знаете. В любом случае, когда он касается кнопки «Назад», он больше не запускает код добавления. Я пытаюсь установить контакт с тренером, так как некоторые из предложений здесь, хотя они хороши, похоже, не работают. Я поставлю решение здесь, как только свяжусь с тренером.
Может быть, когда вы переходите к другому viewController, старый является dealloc, а когда u вернулся, он снова загружается ?! – gran33
Вы, вероятно, вернетесь с сеге, который не расслабляется. Вы не должны этого делать. Он создает новый экземпляр, он на самом деле не возвращается. – rdelmar