额外参数';选择器';在调用中-NSTimer scheduledTimerWithTimeInterval

额外参数';选择器';在调用中-NSTimer scheduledTimerWithTimeInterval,timer,swift,nstimer,Timer,Swift,Nstimer,我有以下代码行: changeColour = NSTimer.scheduledTimerWithTimeInterval(TIMES, target: self, selector: "changeColourOfPage", repeats: true) 但它给出了错误“调用中的额外参数‘选择器’” 当我将TIMES变量更改为类似1.0的数字时,它工作正常。变量TIMES设置为1.0 这只是一个小故障,还是我在某些事情上很愚蠢? 我需要使用它以随机间隔运行一个方法 请帮忙 看起来您缺少u

我有以下代码行:

changeColour = NSTimer.scheduledTimerWithTimeInterval(TIMES, target: self, selector: "changeColourOfPage", repeats: true)
但它给出了错误“调用中的额外参数‘选择器’”

当我将
TIMES
变量更改为类似
1.0
的数字时,它工作正常。变量
TIMES
设置为
1.0

这只是一个小故障,还是我在某些事情上很愚蠢? 我需要使用它以随机间隔运行一个方法


请帮忙

看起来您缺少userInfo参数。试试这个:

Swift 2

let TIMES = 1.0
var changeColour = NSTimer.scheduledTimerWithTimeInterval(TIMES, target: self, selector: "restart", userInfo: nil, repeats: true)
Swift 3、4、5

let TIMES = 1.0
var changeColour = Timer.scheduledTimer(timeInterval: TIMES, target: self, selector: #selector(restart), userInfo: nil, repeats: true)

只是有同样的问题。对我来说,问题是我是以浮动而不是双精度的方式通过一个时间间隔。简单修复是(使用原始帖子中的代码):


我有同样的错误信息,一旦我将时间转换为双倍时间,它就工作得很好。希望这对别人有帮助

我认为@connor是对的,这是你的问题。你能详细说明一下断点在哪里吗?
NSTimer.scheduledTimerWithTimeInterval(Double(TIMES), target: self, selector: Selector("changeColourOfPage"), userInfo:nil, repeats: true)