Xcode,Swift - 如何使用将参数作为选择器的函数

时间:2014-10-30 17:37:06

标签: xcode function swift selector

我有一个带整数的函数,但我想将它用作选择器并将参数传递给它。

NSTimer.scheduledTimerWithTimeInterval(1, target: self, selector: "addAmount", userInfo: nil, repeats: true)

 func addAmount(amount: Int) {

    money += amount


}

1 个答案:

答案 0 :(得分:1)

根据NSTimer documentation

  

选择器应具有以下签名:timerFireMethod :(包括冒号以指示该方法接受参数)。计时器将自身作为参数传递,因此该方法将采用以下模式:

  - (void)timerFireMethod:(NSTimer *)timer

因此,您可以使用该签名编写函数,然后在其中调用addAmount函数。

func timerFireMethod(timer: NSTimer) {
    addAmount(SOME_AMOUNT)
}

然后使用

安排计时器
NSTimer.scheduledTimerWithTimeInterval(1, target: self, selector: "timerFireMethod:", userInfo: nil, repeats: true)