首页 > 解决方案 > 转义闭包捕获变异的“自我”参数,Swift

问题描述

我一直在研究倒数计时器,一切正常,但是当我决定在 MVC 中重构代码并移动部分代码时,我得到了这个错误(转义闭包捕获变异的“自我”参数)。我尝试将结构更改为一个类,但随后计时器停止工作并且不会更新标签。任何一个问题的解决方案都会有所帮助。

struct CountDownLogic {

    var hours: Int = 0
    var mins: Int = 0
    var secs: Int = 0
    
   .
   .
   .

    mutating func startTimer() {
        
        Timer.scheduledTimer(withTimeInterval: 1.0, repeats: true) { Timer in

            if self.secs > 0 {
                    self.secs = self.secs - 1

                } else if self.mins > 0 {
                    self.mins = self.mins - 1
                    self.secs = 59
                } else if self.hours > 0 {
                    self.hours = self.hours - 1
                    self.mins = 59
                    self.secs = 59
                }

                self.updateLabel()
            }
    }
    
    mutating func updateLabel() {
        dateSet = "\(hours):\(mins):\(secs)"

    }

}

任何帮助深表感谢 ..

标签: swifttimerclosures

解决方案


推荐阅读