Swift:applicationDidEnterBackground计时器

时间:2015-03-03 19:39:47

标签: ios swift timer

我需要在applicationDidEnterBackground方法中添加NSTimer;我尝试添加

NSTimer.scheduledTimerWithTimeInterval(5, target: self, selector: Selector("test"), userInfo: nil, repeats: true)

但它没有用。

1 个答案:

答案 0 :(得分:0)

根据您的意见,您的声明应如下所示:

NSTimer.scheduledTimerWithTimeInterval(60, target: self, selector: "test:", userInfo: nil, repeats: false)

注意两件事:

  1. 您可以直接将字符串文字传递给selector参数(不需要Selector()语法),但这当然是可选的。
  2. NSTimer期望在命中零时触发的选择器接受它将自己传递的参数(类型为NSTimer),因此需要冒号(:)在选择器名称的末尾,表示它将采用参数。

      

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

    来自NSTimer documentation

    因此,您还需要稍微修改一下函数声明:

    func test(timer: NSTimer) {
        // Proceed to grab location from background
    }