我很高兴您的知识,因为我是编程的初学者。我想通过Playground实例化计时器。我的计时器-我认为-正确配置了(isValid和TimeInterval),游乐场设置也是如此,但是当我想将消息发送到其目标时,出现以下错误消息。我搜索了Apple文档,论坛,书籍,但并没有摆脱它。抱歉。非常感谢你的帮助。
ERROR MESSAGE
最佳答案
计时器会在您给它的目标上调用选择器。在您的情况下,它正在尝试调用实际上不存在的AnyObject.timerFire()
。 timerFire
的实现是全局函数,它不是类型的一部分,因此,由于Timer需要目标,因此无法使用它。
选择器必须是公开给ObjC的方法,因此类型必须是一个类。
这里是一个简单的例子。
import Foundation
import PlaygroundSupport
class Foo {
@objc func timerFired() {
print("Timer Fired")
}
}
let f = Foo()
let timer = Timer.scheduledTimer(timeInterval: 1, target: f, selector: #selector(Foo.timerFired), userInfo: nil, repeats: false)
print("Scheduled Timer")
PlaygroundPage.current.needsIndefiniteExecution = true
关于swift - 错误EXC_BAD_INSTRUCTION-如何设置timeInterval方法?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/45224944/