定义秒后调用函数而不使用定时器

时间:2011-08-04 06:01:07

标签: iphone ios4 iphone-sdk-3.0 nstimer

我使用计时器在180秒后调用一个函数。但是计时器有时会以不同的方式运行,并在180秒内多次调用该函数。

请建议我如何在每180秒后调用一个函数,直到我发布停止消息而不使用计时器。

代码

如果(!tmr_CallWebService)

{

tmr_CallWebService = [NSTimer scheduledTimerWithTimeInterval:180 target:ClassTracing selector:@selector(startLocationTracing)userInfo:nil repeats:YES];

}

提前致谢

2 个答案:

答案 0 :(得分:3)

您可以使用NSObject中的- (void)performSelector:(SEL)aSelector withObject:(id)anArgument afterDelay:(NSTimeInterval)delay

答案 1 :(得分:3)

我认为有一种方法可以完成这项任务,这里就像这样使用它

[self performSelector:@selector(yourMethodName) withObject:[NSArray arrayWithObjects:firstArgument,secondeArgument,nil] afterDelay:180];

如果你在该方法中没有参数,则使用nil代替数组。