定时器在子线程中的使用

最近需要用多线程比较多,由于我们程序中连接数据,然后更新界面。由于有可能连接断开,如果在主线程中运行的话,会卡死界面。所以用一个子线程来处理数据连接。但是我在子线程中启用定时器发现根本没有调用。结果是在子线程中不一样。

一般在主线程中我们都是一行代码搞定。

_timer = [NSTimer scheduledTimerWithTimeInterval:temp/100 target:self selector:NSSelectorFromString(@"testTimerOut:") userInfo:nil repeats:YES];

但是在子线程中不行 需要加上NSRunLoop

_timer = [NSTimer scheduledTimerWithTimeInterval:temp/100 target:self selector:@selector(testTimerOut:) userInfo:nil repeats:YES];

[[NSRunLoop currentRunLoop] addTimer:_timer forMode:NSDefaultRunLoopMode];

[[NSRunLoop currentRunLoop] run];

真的是要多用多写才能让自己懂得更多

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容