了解NSRunLoop

谁能解释什么NSRunLoop?据我所知NSRunLoop,这与NSThread权利有关吗?所以假设我创建一个像


NSThread* th=[[NSThread alloc] initWithTarget:self selector:@selector(someMethod) object:nil];

[th start];


-(void) someMethod

{

    NSLog(@"operation");

}

所以在这个线程完成他的工作之后正确吗?为什么使用RunLoops或在哪里使用?从Apple文档中我读到了一些内容,但对我来说还不清楚,所以请尽可能简单地解释一下


猛跑小猪
浏览 496回答 3
3回答

动漫人物

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 为止。同样,您可以在线程中使用它们。希望这对您有所帮助。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

iOS