SWIFT:我们可以在选择器方法中实例化具有不同间隔的新timer()或nsTimer吗?

时间:2019-05-31 10:05:24

标签: swift timer nstimer

我正在创建一个具有不同时间间隔的计时器。我使用了Swift的Timer对象。在主循环中,我初始化计时器并将重复性设置为false。在选择器函数中,我使旧计时器无效,并以不同的计时器间隔初始化新计时器。这种方法有什么问题吗?有内存问题吗?

class ViewController: UIViewController {
    var timer : Timer?
    override func viewDidLoad() {
        super.viewDidLoad()
        // Swift block syntax (iOS 10+)

        timer = Timer.scheduledTimer(timeInterval: 1, target: self, selector: #selector(self.update), userInfo: nil, repeats: false)
    }

    // must be internal or public.
    @objc func update() {
        print("Hello Timer")
        timer?.invalidate()
        timer = Timer.scheduledTimer(timeInterval: 3, target: self, selector: #selector(self.update), userInfo: nil, repeats: false)
    }
}

上面的代码按预期工作。但是我不确定内存是否泄漏。

0 个答案:

没有答案