我有一个由4个部分组成的集合视图。
每个部分都是一个字符串数组,如下所示:
var picList: [String] = ["Bird", "Cat", "Cow", "Dog", "Duck", "Elephant", "Fish", "Giraffe", "Lion", "Mouse", "Sheep", "Snake" ]
var vehiclesList: [String] = ["Airplane", "Ambulance", "Boat", "Bus", "Car", "Fire_Engine", "Helicopter", "Motorcycle", "Tank", "Tractor", "Train", "Truck" ]
var fruitsList: [String] = ["Apple", "Banana", "Grapes", "Mango", "Orange", "Peach", "Pineapple", "Strawberry", "Watermelon" ]
var bodyPartsList: [String] = ["Arm", "Ear", "Eye", "Face", "Feet", "Hand", "Hair", "Legs", "Mouth", "Nose" ]
我为单元格创建了一个UITapGestureRecognizer,当我点击单元格时,我得到了索引。
这是tapMethod
func handleTap(sender: UITapGestureRecognizer) {
print("tap")
if let indexPath = self.collectionView?.indexPathForItem(at: sender.location(in: self.collectionView)) {
let cell = collectionView?.dequeueReusableCell(withReuseIdentifier: reuseIdentifier, for: indexPath) as! PicViewCell
print("index path: + \(indexPath)")
} else {
print("")
}
}
现在索引打印得像这样[0,0](如果我按下第一项,即鸟)。 [2,4]如果我按下第二节的第四项(即芒果)。但我不知道如何翻译索引,以获得相应的字符串值。我的意思是这样的:
var itemName:String = [2,4](而itemName将是芒果)
我是swift的新手,所以任何帮助都会很棒。
非常感谢。
答案 0 :(得分:1)
你需要的是一个数组数组,也就是一个二维数组 - [[String]]
。
var array = [picList, vehicleList, fruitsList, bodyPartsList]
然后,您可以使用以下2个索引访问它:
var itemName = array[2][4]
答案 1 :(得分:1)
你可以创建一个二维数组,并在那里添加你的列表,indexpath.section将是list的索引,indexpath.item将是列表中的索引