Ứng dụng của tôi theo dõi người dùng với CLLocationManager
. Trong cuộc gọi đại biểu số didUpdateToLocation
Tôi làm tất cả những điều thú vị về việc lưu vị trí của họ. Tuy nhiên, tôi cần một cách để kiểm tra xem họ có dừng lại không. Rằng tôi có thể dừng ghi lại các địa điểm và xem xét chuyến đi của họ. Vì vậy, tôi có một số NSTimer
trong CCLocationManager
được thêm và xóa mỗi lần didUpdateToLocation
được gọi. Rằng nó sẽ được bắt đầu khi người dùng dừng lại và CLLocationManager
ngừng nhận được gọi.NSTimer và NSRunLoop
Cách duy nhất mà tôi từng có thể nhận được các NSTimer
làm việc là để làm:
[[NSRunLoop mainRunLoop] addTimer:userStoppedMovingTimer forMode:NSRunLoopCommonModes];
Sau đó, để xoá bỏ nó:
[userStoppedMovingTimer invalidate];
Tôi chưa bao giờ phải thêm bộ hẹn giờ như thế này trong quá khứ. Ai đó có thể làm sáng tỏ vì sao nó lại là?
Nếu bạn tạo bộ hẹn giờ với '+ scheduledTimerWithTimeInterval: target: selector: userInfo: repeats:', đây không phải là vấn đề. –