前提・実現したいこと
画面外のセルを確認するためにスクロールした後元の画面に戻っても各セルの状態を維持していたい
swiftでCollectionviewを使ってアプリを作成しています。
多くのセルを使っており画面外にもセルが存在している状態です。
各セルにタイマーをセットしておりセルごとに時間が測れるようになっています。
タイマーの機能はCollectionViewCell.swiftに記入しています。
発生している問題・エラーメッセージ
CollectionViewController.swiftに書いてあるセルの作成が画面をスクロールして画面外に出るとタイマーがリセット?されてしまい、新しいセルが作成されてしまう状態です。そのため、画面外にいるセルのタイマーがリセットされないようにしたいです。
リセットと書きましたが、恐らく新しくセルが作成されて上書きされているかもしれません。
該当のソースコード
CollectionViewController.swiftの中身です。セルを作成している以下のメソッドが問題だと思いました。
TestCellはセルのidentiferです。
CollectionViewCellの部分にタイマーを設定しています。
swift
1override func collectionView(_ collectionView: UICollectionView, cellForItemAt indexPath: IndexPath) -> UICollectionViewCell { 2 3 let cell = collectionView.dequeueReusableCell(withReuseIdentifier: "TestCell", for: indexPath) as! CollectionViewCell 4 5 return cell 6 }
試したこと
ここに問題に対して試したことを記載してください。
補足情報(FW/ツールのバージョンなど)
ここにより詳細な情報を記載してください。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。