【问题标题】:Extra argument 'selector' in call - NSTimer scheduledTimerWithTimeInterval调用中的额外参数“选择器” - NSTimer scheduleTimerWithTimeInterval
【发布时间】:2014-07-13 13:20:21
【问题描述】:

我有以下代码行:

changeColour = NSTimer.scheduledTimerWithTimeInterval(TIMES, target: self, selector: "changeColourOfPage", repeats: true)

但它给出了错误“调用中的额外参数'选择器'”

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

这只是一个小故障,还是我对某事很愚蠢? 我需要用它来随机运行一个方法。

请帮忙!

【问题讨论】:

    标签: timer swift nstimer


    【解决方案1】:

    刚刚遇到同样的问题。对我来说,问题是我将时间间隔作为浮点数而不是双精度数传递。简单的修复是(使用原始帖子中的代码):

    NSTimer.scheduledTimerWithTimeInterval(Double(TIMES), target: self, selector: Selector("changeColourOfPage"), userInfo:nil, repeats: true)
    

    我收到了同样的错误消息,一旦我将时间转换为 Double,它就可以正常工作。希望对某人有所帮助!

    【讨论】:

      【解决方案2】:

      您似乎缺少 userInfo 参数。试试这个:

      斯威夫特 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 是正确的,这是您的问题。你能详细说明断点在哪里吗?
      猜你喜欢
      • 2015-03-08
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多