У меня есть представление коллекции, которое выбирает элемент в своем индексе и выполняет переход к следующему ViewController.Когда представлен следующий ViewController, значение моего объекта равно nil
.
Вот вызов в collectionView:
func collectionView(_ collectionView: UICollectionView, didSelectItemAt indexPath: IndexPath) {
guard let adViewVC = storyboard?.instantiateViewController(withIdentifier: adViewPageID) as? AdViewPageVC else {return}
let adChoice = adArray[indexPath.row]
adViewVC.advertisement = adChoice
performSegue(withIdentifier: adViewPageSegue, sender: self)
}
Обратите внимание, что оператор guard проходит, и еслиЯ печатаю значение из adArray, оно имеет значение в этой функции.
После выполнения перехода, открывающего правый ViewController, рекламный объект всегда равен nil.
var advertisement : Advertisement!
override func viewDidLoad() {
super.viewDidLoad()
let title = advertisement.title
print(title)
}
Это никогда не происходитполучение значения объекта, даже когда я вижу, что оно имеет значение во время присваивания в функции didSelectItem
для представления коллекции.
Что мне здесь не хватает?