2015-04-19 58 views
0

我有這樣的代碼:如何在另一個視圖控制器上設置布爾標誌?

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

你應該設置「標誌」在'prepareForSegue' 方法 –

+1

我不知道如果我正確地理解你的問題,但爲什麼您使用的是平等當試圖將'true'賦給'viewController.check'時,運算符'=='? 在這種情況下,您將不得不使用賦值運算符'='。 –

+0

@MarcusRossel謝謝。總是像我這樣的小錯誤需要我的時間 –

回答

2

您的代碼不起作用,因爲performSegueWithIdentifier方法實例化視圖控制器的新實例。在prepareForSegue:sender:方法來設置你的標誌segue.destinationViewController

segue.destinationViewController.check = true 
相關問題