快速计时器无法正常工作

时间:2017-03-12 01:06:48

标签: swift nstimer

我有一个使用按钮的功能:

core

我想让它与Timer一起使用:

@IBAction func btnSiguiente(_ sender: Any) {
    if indexImagenes == imagenes.count {
        indexImagenes = 0
    }
    escaparate.image = NSImage(named: imagenes[indexImagenes])
    indexImagenes += 1
}

但我在控制台得到这个:
[_SwiftValue autoplay]:无法识别的选择器发送到实例0x6080000451c0

1 个答案:

答案 0 :(得分:3)

要解决此问题,请在您所在的类的实例完全初始化后初始化计时器。

所以只需给var playTimer一个默认值,如下所示:

var playerTimer:Timer? = nil

然后在某个函数中初始化计时器,该函数被调用一次' self'完全初始化(例如viewDidLoad(),假设此代码在viewController中):

override func viewDidLoad()
{
    super.viewDidLoad()
    playerTimer = Timer.scheduledTimer(timeInterval: 5.0, target: self, selector: #selector(autoplay), userInfo: nil, repeats: true)
}

基本上只是确保自我'在发送选择器之前完全初始化。