谁能解释什么NSRunLoop?据我所知NSRunLoop,这与NSThread权利有关吗?所以假设我创建一个像NSThread* th=[[NSThread alloc] initWithTarget:self selector:@selector(someMethod) object:nil];[th start];-(void) someMethod{ NSLog(@"operation");}所以在这个线程完成他的工作之后正确吗?为什么使用RunLoops或在哪里使用?从Apple文档中我读到了一些内容,但对我来说还不清楚,所以请尽可能简单地解释一下
3 回答
动漫人物
TA贡献1815条经验 获得超10个赞
RunLoops有点像发生事情的盒子。
基本上,在RunLoop中,您要处理一些事件,然后返回。如果超时之前未处理任何事件,则返回。您可以说它类似于异步NSURLConnections,它在后台处理数据而不干扰您的当前循环,但同时您需要同步数据。可以在RunLoop的帮助下完成此操作,RunLoop使您变得异步NSURLConnection并在调用时提供数据。您可以这样使用RunLoop:
NSDate *loopUntil = [NSDate dateWithTimeIntervalSinceNow:0.1];
while (YourBoolFlag && [[NSRunLoop currentRunLoop] runMode: NSDefaultRunLoopMode beforeDate:loopUntil]) {
loopUntil = [NSDate dateWithTimeIntervalSinceNow:0.1];
}
在此RunLoop中,它将运行直到完成其他一些工作并将YourBoolFlag设置为false 为止。
同样,您可以在线程中使用它们。
希望这对您有所帮助。
- 3 回答
- 0 关注
- 518 浏览
添加回答
举报
0/150
提交
取消