我正在使用didUpdateLocation。在里面,我打电话给网络服务。
而且,我想每2分钟一次,我会打电话给webservices。
但是,didUpdateLocation多次更新位置。所以,我必须调用webservices。这不好。
如何每2分钟拨打一次网络服务。
请帮助我!
答案 0 :(得分:1)
您必须使用didUpdateLocation
之外的其他内容触发呼叫,因为该呼叫的频率取决于设备的用户,而不是您的代码。如果您只需要在位置发生重大变化时调用Web服务,则可以执行以下操作:
didUpdateLocation
。NSTimer
。另一种算法:
didUpdateLocation
触发时,请检查您上次发出网络请求的时间。如果超过2分钟前,请提出请求,否则请忽略更新。根据您的确切需要,您可能需要一些。如果请求的节奏最重要,请从第一个开始。如果唯一重要的一点是你不会比每2分钟更频繁地拨打电话,但是更长的时间间隔完全没问题,那就去第二个。
答案 1 :(得分:0)
使用NSTimer。
NSTimer* timer = [NSTimer scheduledTimerWithTimeInterval:2.0
target:self
selector:@selector(handleTimer:)
userInfo:nil repeats:YES];
将此代码放入DidLoad方法中,并在其他地方添加以下代码。
- (void)handleTimer:(NSTimer*)theTimer {
NSLog (@"Working");
}