如何在UICollectionView中选择单元格时停止变量重置?

时间:2014-12-18 01:14:15

标签: ios swift reset uicollectionviewcell selected

我正在尝试使用UICollectionView创建匹配游戏。我有一个UICollectionView的方法,其中包含一些属性:

override func collectionView(collectionView: UICollectionView, didSelectItemAtIndexPath indexPath: NSIndexPath) {
    var definitionSelectedText:String = "None"
    var boatTypeSelectedText:String = "None"
    if cellSelected == false {
        if indexPath.item < 7 {
            definitionSelectedText = definitions[indexPath.item]
            println(definitionSelectedText)
            println(boatTypeSelectedText)
        } else if indexPath.item > 6 {
            boatTypeSelectedText = boatTypes[indexPath.item - 7]
            println(definitionSelectedText)
            println(boatTypeSelectedText)
        }
        cellSelected = true

我也有这种方法:

switch indexPath.item {
        case 7:
            switch definitionSelectedText {
            case "Used to carry the pharoah":
                if boatTypeSelectedText == "Royal Boat" {
                    if let cell = collectionView.cellForItemAtIndexPath(indexPath) {
                        cellTitle.hidden = true
                        cell.backgroundColor = UIColor.greenColor()
                    }
               }

发生的问题是definitionSelectedText在选择"None" indexPath.item或其他任何时候7重置为definitionSelectedText。如果选择"None",如何阻止indexPath.item < 6重置为{{1}}?我感谢任何支持!

1 个答案:

答案 0 :(得分:0)

您将definitionSelectedText设置为&#39;无&#39;在功能的开头。当defintionSelectedText小于7时,indexPath仅设置为其他内容,因此当indexPath == 7时,它不会被更改。 7不小于7。