【问题标题】:Can an NSTimer take multiple selectors?NSTimer 可以采用多个选择器吗?
【发布时间】:2014-08-20 18:59:08
【问题描述】:

我正在尝试在我的应用中使用 NSTimer,并且想知道是否可以在计时器触发时调用两个方法。

代码如下:

gameTimer = NSTimer.scheduledTimerWithTimeInterval(0.01, target: self, selector:
Selector("gameMovement" && "fireBullet"), userInfo: nil, repeats: true)

我收到一条错误消息,提示选择器中有两个参数。

【问题讨论】:

  • 不,但是您可以路由到调用其他两个的方法,或者您可以设置两个单独的计时器。

标签: ios cocoa-touch swift nstimer


【解决方案1】:

不。您只需要调用一种方法来代理您想要的所有事情。

func someFunc() {
  gameTimer = NSTimer.scheduledTimerWithTimeInterval(
    0.01,
    target: self,
    selector: Selector("timerFired"),
    userInfo: nil,
    repeats: true
  )
}

func timerFired() {
  gameMovement()
  fireBullet()
}

无论如何,这是一种更易于维护的模式,因为它更容易看到您的代码是如何流动的。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2016-08-21
    • 2021-07-28
    • 2012-06-19
    • 2018-08-10
    • 2011-12-05
    • 2011-06-05
    • 1970-01-01
    相关资源
    最近更新 更多