2017-06-04 10 views
1

私は、4つのセクションで構成されるコレクションビューを持っています。インデックスからdouble配列の値を取得します。 Swift

各セクションでは、このような文字列の配列、次のとおりです。

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を作成しました。ここで

は今、このようなインデックスプリントが[0,0](私は最初の項目に押した場合、すなわち鳥)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("") 
     } 


    } 

です。 [2,4]私が2番目のセションの4番目のアイテム(すなわちマンゴー)を押すと。しかし、私はどのようにインデックスを翻訳し、対応する文字列値を取得するのか分からない。

のvar itemNameに:私はこのような何かを意味する文字列= [2,4](とitemNameになりマンゴー)

私は迅速に新たなんだが、その任意のヘルプは素晴らしいことです。

ありがとうございます。

+0

実際には[[2,4]は第3セクションの5番目の項目です; – vadian

答えて

1

必要なものは、配列の配列、別名2D配列[[String]]です。

var array = [picList, vehicleList, fruitsList, bodyPartsList] 

その後、あなたはこのような2つの指標でこれにアクセスすることができます。

var itemName = array[2][4] 
+1

ありがとうございました。これは私が必要とするものです。 – ios234975

+0

@ ios234975私の答えがあなたの質問に答えると思うなら、それを受け入れることを検討してください! – Sweeper

1

あなたは2次元配列を作成し、そこにあなたのリストを追加することができ、indexpath.sectionは、リストのインデックスとなり、 indexpath.itemは最初のリストのインデックスになります

+1

ありがとうございます。 Sweeperの答えと一緒に素晴らしい – ios234975