每30分钟执行一次选择器

时间:2012-10-13 13:56:28

标签: iphone objective-c ios cocoa-touch

我正在使用特定的API,需要刷新令牌才能使用它。

刷新此令牌后,它可以使用半小时,然后变为无效。然后我必须再次刷新它。我现在正在做的是在每次请求时刷新它,但它们在几秒或几分钟内发生得很快,所以这可能不是最好的方法。

如果你可以给我一些建议,那就太好了!

2 个答案:

答案 0 :(得分:3)

你总是可以在一个对象中保存一些ivar或变量,这些对象表示上次刷新令牌的时间,当请求进入时,检查" NSTimeInterval"从现在到设置该令牌的日期/时间之间,如果时间超过30分钟,则提交新的令牌请求。

这样做(与使用计时器相比)的优势在于,在长时间不活动期间,您需要根据需要申请新的30分钟令牌,而不是每30分钟申请一次。

答案 1 :(得分:1)

您可以使用NSTimer;

[NSTimer timerWithTimeInterval:1800 target:self selector:@selector(refreshToken:) userInfo:nil repeats:YES];