当在表格视图中滚动计时器重置为表格视图单元格中的原始值时



我有作业列表(表格视图(,当我单击任何作业时,这意味着我申请了作业,然后计时器开始(30 秒倒计时(,我可以撤消可能应用的工作。我在每个单元格上都有单独的计时器。 我使用了 2 秒计时器功能来重新加载表视图。

行代码的单元格如下所示:

if data.current_state != 1{
if data.isApplied == true
{
if cell.countdowlLbl.text != "00:00" || cell.countdowlLbl.isFinished != true
{
cell.applyBtn.isHidden = true
cell.appliedUiView.isHidden = false
cell.AfterAppliedView.isHidden = true
}    
else
{
data.current_state = 1
cell.applyBtn.isHidden = true
cell.appliedUiView.isHidden = true
cell.AfterAppliedView.isHidden = false
}
}else{
cell.appliedUiView.isHidden = true
cell.applyBtn.isHidden = false
cell.AfterAppliedView.isHidden = true  
}
}else{
cell.AfterAppliedView.isHidden = false
cell.appliedUiView.isHidden = true
cell.applyBtn.isHidden = true
}
class TimerCell: UITableViewCell
{
var timer = Timer()
var counter = 0
@IBOutlet weak var btnStartTimer: UIButton!
@IBOutlet weak var lblTimer: UILabel!

func startTimer()
{
timer = Timer.scheduledTimer(timeInterval: 1, target: self, selector: #selector(actiontimer), userInfo: nil, repeats: false)
lblTimer.text = "(timer)"
}
@objc func actiontimer() {
counter += 1
lblTimer.text = "(counter)"
}
}
- Create timer with particular cell using table view cell class and start 
timer on when select job. so, it's start only for that selected job .
- And Create all cell with different identifier like:

tbl_Job.register(UINib(nibName: "TimerCell", bundle: nil), forCellReuseIdentifier: "TImerCell(indexPath)")
let cell = tbl_Job.dequeueReusableCell(withIdentifier: "TImerCell(indexPath)", for: indexPath) as! TimerCell

最新更新