質問: ### 前提・実現したいこと SwiftのTableViewCellで、リアルタイムに期限をカウントダウンしたい、 インフィニティスクロールでTableViewCellが再利用されるのも考慮して、 1秒単位でカウントダウンを表示するにはどうしたらいいでしょうか? ライブラリを使わないか、導入コスト低いライブラリで実現したいです。 githubのサンプルコードなどありましたら教えていただきたいです。 ### 試したこと UITableViewCellで、非リアルタイムの期限のカウントダウンを表示はできたが、 UITableViewCellをリロードさせないと、期限のカウントダウンの表示がどんどんずれていってしまいます。
回答: タイマーは`ViewController`で一つ動かして、その度現在表示されているCellの配列を取得して、そのセル全て対して実装してあるラベルのアップデートメソッドを呼び出すとよいと思います。 参考になるか分かりませんが簡単なサンプルを作成しました。ダウンロードして試してみてください。 teratail_41673 ``` // ViewControllerのタイマーで呼ばれるメソッド func updateCustomCellLabel(timer: NSTimer) { // 表示中のセル一覧を取得 let visibleCells = tableView.visibleCells as! CustomCell] for cell in visibleCells { // セルに対してラベルのアップデートメソッドを呼び出す cell.updateLabel() } } ``` ![s