Xcode NSTimer count ++

时间:2015-11-18 18:24:42

标签: xcode swift nstimer

我在名为NSTimer的函数中每0.05秒运行一次moving。 在moving内,我想要一个数字来计算并将其显示在标签中 并同时使物体移动。

现在问题是它只能同时做其中一件事。 这是代码:

timer = NSTimer.scheduledTimerWithTimeInterval(0.05, target: self, selector: "moving", userInfo: nil, repeats: true)    

func moving() {

   countingUp = countingUp + 1

    label.text = "\(countingUp)"

    objectOne.center = CGPointMake(objectOne.center.x, objectOne.center.y + 1) 
}

现在它只是在对象不移动时才在标签中计数。 但是,如果我删除标签的整个代码部分,则对象正在移动。 有人可以帮帮我吗?

2 个答案:

答案 0 :(得分:0)

试试这个:

let runloop = NSRunLoop.currentRunLoop()
let timer = NSTimer(timeInterval: 0.05, target: self, selector: "moving", userInfo: nil, repeats: true)
runloop.addTimer(timer, forMode:NSRunLoopCommonModes)
runloop.addTimer(timer, forMode:UITrackingRunLoopMode)

答案 1 :(得分:0)

试试这个......

    let delayTime = dispatch_time(DISPATCH_TIME_NOW, Int64(0.05 * Double(NSEC_PER_SEC)))
dispatch_after(delayTime, dispatch_get_main_queue()) {
 countingUp = countingUp + 1
 label.text = "\(countingUp)"
 objectOne.center = CGPointMake(objectOne.center.x, objectOne.center.y + 1)
}