在iOS上每n秒执行一次连接检查

时间:2013-12-08 10:29:51

标签: ios objective-c nsthread

我目前正在为iOS平台编写一个应用程序,它通过TCP与服务器通信。问题是:我想启动一个NSThread,它会进入一个检查我的

的无限循环
- (BOOL)connected

一旦连接功能恢复成功,每10秒仍然返回true。

如何制作一个运行函数的计时器并每隔10秒检查一次返回值?

提前感谢任何帮助。

2 个答案:

答案 0 :(得分:2)

为什么不使用NSTimer来运行一个每10秒运行一次的计时器来检查连接状态?

{p> NSTimer引用了here。有许多静态方法可以创建计时器。您可以使用例如:

+ (NSTimer *)timerWithTimeInterval:(NSTimeInterval)seconds target:(id)target selector:(SEL)aSelector userInfo:(id)userInfo repeats:(BOOL)repeats

您可以将其用作

NSTimer * timer = [NSTimer timerWithTimeInterval:10 target:myobject selector:checkConnectionStatus userInfo:nil repeats:YES];

其中myobject将是Objective-C对象及其方法-checkConnectionStatus或您喜欢的方法将检查连接的状态。

答案 1 :(得分:1)

您应该从Apple查看Reachability示例代码。我对TCP知之甚少,但你所描述的内容听起来很快会烧掉电池。除非TCP在没有将无线电唤醒的情况下工作。