我有这段代码:
override func collectionView(collectionView: UICollectionView, shouldHighlightItemAtIndexPath indexPath: NSIndexPath) -> Bool {
var segue = UIStoryboardSegue()
let viewController = ViewController()
viewController.check == true
let photo1 = photos[indexPath.row]
viewController.photo = photo1
performSegueWithIdentifier("showDetail", sender: self)
return true
}
如果选择了某个项目,我只想要执行某些代码。所以我的计划是创建一个检查标志。
这里的问题是当我到达下一个视图控制器时,标志viewController.check == true
永远不会被设置为true。我用println()
和其他东西测试了它,它根本没有设置。我究竟做错了什么?我该怎么做呢?
答案 0 :(得分:2)
您的代码无法正常工作,因为performSegueWithIdentifier
方法实例化了一个新的视图控制器实例。在prepareForSegue:sender:
方法中,将您的旗帜设为segue.destinationViewController
:
segue.destinationViewController.check = true