如何在另一个视图控制器上设置布尔标志?

时间:2015-04-19 10:54:25

标签: ios iphone xcode swift

我有这段代码:

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()和其他东西测试了它,它根本没有设置。我究竟做错了什么?我该怎么做呢?

1 个答案:

答案 0 :(得分:2)

您的代码无法正常工作,因为performSegueWithIdentifier方法实例化了一个新的视图控制器实例。在prepareForSegue:sender:方法中,将您的旗帜设为segue.destinationViewController

segue.destinationViewController.check = true