

SwiftでCollectionViewCellをタップした際にセル一つ一つのタップ数をカウントし、そのセルの中にセルごとに表示させる方法が知りたいです。カウントは、アプリの起動から終了までです。
このコードの中にどのように書けば良いでしょうか？  
まだ初心者で質問がわかりにくい部分もあると思いますがよろしくお願いします。

` //セル選択時に呼び出されるメソッド

[code]

    func collectionView(collectionView: UICollectionView, didSelectItemAtIndexPath indexPath: NSIndexPath) {
        let testCell = collectionView.cellForItemAtIndexPath(indexPath) as! SekiCollectionViewCell
    
[/code]

`


CC BY-SA 3.0
2016-11-19T10:25:17.580
30538
2016-11-25T06:27:50.300
2016-11-25T06:27:50.300
19630
19630
question
swift uicollectionview
Swift CollectiionView タップ数を表示


簡単な例を挙げてお答えします。(Swift3として記述)

質問者さんが挙げたメソッドの他に、以下のようなプロパティを持たせてみてください。  
Dictionary型である必要はなく、あくまで簡単な例として置いています。

[code]

    // 各セル毎のタップ数を格納する変数
    private var tapCount = [IndexPath: UInt]()
    
    func collectionView(_ collectionView: UICollectionView, didSelectItemAt indexPath: IndexPath) {    
        let before = self.tapCount[indexPath] ?? 0
        let after = before + 1
    
        self.tapCount[indexPath] = after
    
        print("cell at [section: \(indexPath.section), index: \(indexPath.row)] was tapped \(after) times in total.")
    }
    
[/code]

今回はタップ数をログで出力していますが、質問者さんの都合のいいように  
利用して表示して見てください。

この例はセルの数や配置が変更された場合に対応できません。  
望ましいのはセル自体にタップ数を持たせてやる方法ですね。


CC BY-SA 3.0
2016-11-21T10:04:10.850
30577
2016-11-22T01:44:14.683
2016-11-22T01:44:14.683
19642
19642
30538
answer