我有一个使用按钮的功能:
core
我想让它与Timer一起使用:
@IBAction func btnSiguiente(_ sender: Any) {
if indexImagenes == imagenes.count {
indexImagenes = 0
}
escaparate.image = NSImage(named: imagenes[indexImagenes])
indexImagenes += 1
}
但我在控制台得到这个:
[_SwiftValue autoplay]:无法识别的选择器发送到实例0x6080000451c0
答案 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)
}
基本上只是确保自我'在发送选择器之前完全初始化。