我正在尝试使用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}}?我感谢任何支持!
答案 0 :(得分:0)
您将definitionSelectedText
设置为&#39;无&#39;在功能的开头。当defintionSelectedText
小于7时,indexPath
仅设置为其他内容,因此当indexPath == 7时,它不会被更改。 7不小于7。