我正在创建一个新线程,它每隔一定时间就运行我的方法之一。
现在我正在做的事情如下:
NSThread *thread = [[NSThread alloc] initWithTarget:self selector:@selector(setUpTimerThread) object:nil];
[thread start];
上面的方法调用了我的setUpTimerThraed方法,这个方法创建了一个NSTimer并每1分钟调用一个特定的方法,即syncData。现在我想要的是我的同步数据方法正在将一些文件发送到 FTP 文件夹。每当它向 FTP 发送一个文件时,我希望它我的“线程”休眠一段时间。
我用过
[NSThread sleepForTimeInterval:3.0];
但这段代码阻塞了我的应用程序主线程。有什么方法可以让我的“线程”线程休眠一段时间,这样它就不会停止我的应用程序响应 3 秒,并且不会休眠我的主线程。
希望你们能明白我的要求。请帮忙?
sleepForTimeInterval:
休眠它所调用的线程。尝试在您想要休眠的线程而不是主线程上调用 sleep。
将当前的睡眠通话替换为
[self performSelector:@selector(sleepThread) onThread:thread withObject:nil waitUntilDone:YES];
然后实现这个方法
-(void)sleepThread {
[NSThread sleepForTimeInterval:3.0];
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)