Lou*_*uie 1 iphone iphone-sdk-3.0 ios4 ios
我似乎无法在SO或谷歌上找到合适的答案.
我每隔15秒就会在网络服务器上获取新数据.问题是在等待服务器的响应(有时几秒钟)时,我的用户界面被捆绑了.我似乎无法弄清楚如何在单独的线程上启动NSTimer,以便我可以在后台提取新数据,让我的UI按钮响应.
有什么建议?
谢谢!
当您从服务器请求时,您可以使用异步NSURLRequest来接收数据.然后,您可以将NSTimer保留在主线程中,因为它所做的只是每15秒创建一次异步NSURLRequest.否则,您可以通过创建计时器在后台线程中创建NSTimer
+ (NSTimer *)timerWithTimeInterval:(NSTimeInterval)seconds target:(id)target selector:(SEL)aSelector userInfo:(id)userInfo repeats:(BOOL)repeats
Run Code Online (Sandbox Code Playgroud)
然后通过调用将计时器添加到您想要的任何运行循环中
[[NSRunLoop currentRunLoop] addTimer:MY_TIMER forMode:NSDefaultRunLoopMode];
Run Code Online (Sandbox Code Playgroud)
(将currentRunLoop替换为您希望NSTimer进入的运行循环.)
归档时间: |
|
查看次数: |
1187 次 |
最近记录: |