在VC1(集合视图)中,这是我的prepareforsegue代码:
override func prepareForSegue(segue: UIStoryboardSegue, sender: AnyObject?) {
let segue = segue.destinationViewController as TabBarViewController
var selectedIndex = self.collectionView.indexPathForCell(sender as UICollectionViewCell)
segue.selectedIndexPassing = selectedIndex?.row
}
当我到达VC2(即TabBarViewController)时,我使用println()函数来查看返回的selectedIndexPassing值。它返回正确的值。然后,在VC2中,我调用prepareforsegue函数以进入实际的视图控制器或选项卡栏中的第一个按钮:
override func prepareForSegue(segue: UIStoryboardSegue, sender: AnyObject?) {
var segue = segue.destinationViewController as PlayerFromRosterViewController
segue.selectedIndexPassingForDisplay = 1
}
然而,当我在VC3(PlayerFromRosterViewController)中println() selectedIndexPassingForDisplay
时,它是nil。为什么这个变量没有从选项卡导航控制器传递到VC3,也就是第一个选项卡按钮视图。