我正在创建一个新的Thread,它会在每一段时间后运行我的一个方法.
现在我正在做的如下:
NSThread *thread = [[NSThread alloc] initWithTarget:self selector:@selector(setUpTimerThread) object:nil];
[thread start];
Run Code Online (Sandbox Code Playgroud)
上面的方法调用我的setUpTimerThraed方法,这个方法生成一个NSTimer并在每1分钟后调用一个特定的方法,即syncData.现在我想要的是我的同步数据方法是将一些文件发送到FTP文件夹.什么时候它发送一个文件到FTP我想让我的"线程"睡一会儿.
我用过
[NSThread sleepForTimeInterval:3.0];
Run Code Online (Sandbox Code Playgroud)
但是这段代码阻止了我的应用主线程.有什么方法我只能睡一段时间我的"线程"线程,以便它不会停止我的应用程序响应3秒,并没有睡觉我的主线程.希望你得到我要问的人.请帮忙?
sleepForTimeInterval:睡眠它被调用的线程.尝试在要睡眠的线程上调用睡眠而不是主线程.
用你的当前睡眠呼叫替换
[self performSelector:@selector(sleepThread) onThread:thread withObject:nil waitUntilDone:YES];
Run Code Online (Sandbox Code Playgroud)
然后实现这个方法
-(void)sleepThread {
[NSThread sleepForTimeInterval:3.0];
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
6079 次 |
| 最近记录: |