【发布时间】:2018-05-17 23:28:28
【问题描述】:
我有一个集合视图,它在其索引中选择一个项目并执行到下一个 ViewController 的 segue。当下一个 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 的 segue 之后,广告对象始终为零。
var advertisement : Advertisement!
override func viewDidLoad() {
super.viewDidLoad()
let title = advertisement.title
print(title)
}
即使我在分配集合视图的didSelectItem 函数期间可以看到它具有值,也永远不会获取对象的值。
我在这里错过了什么?
【问题讨论】:
-
我将投票关闭它,因为它已经解决了。我不确定其他地方是否有人问过这个具体问题?
标签: ios swift uicollectionview segue uistoryboardsegue