我的应用程序使用
唯一让
然后要将其移除:
CLLocationManager
跟踪用户。在委托调用didUpdateToLocation
中,我完成了保存他们位置的所有有趣的操作。然而,我需要一种方法来测试他们是否已经停止移动。这样我就可以停止记录位置并认为他们的旅行结束了。因此,我在CCLocationManager
中加入了一个NSTimer
,每次调用didUpdateToLocation
时都会添加和删除它。这样它将在用户停止时被初始化,并且CLLocationManager
停止被调用。唯一让
NSTimer
工作的方法是:[[NSRunLoop mainRunLoop] addTimer:userStoppedMovingTimer forMode:NSRunLoopCommonModes];
然后要将其移除:
[userStoppedMovingTimer invalidate];
我以前从未像这样添加定时器。有人能解释一下为什么吗?
+scheduledTimerWithTimeInterval:target:selector:userInfo:repeats:
创建计时器,这不应该是一个问题。 - Richard J. Ross III