我遇到了一些关于NSRunLoop的问题。当运行以下代码时,主线程似乎停止了,而且在while循环后面的代码不会执行。 我想知道当执行[[NSRunLoop currentRunLoop] runMode:NSDefaultRunLoopMode beforeDate:[NSDate distantFuture]]时,主线程的runloop会发生什么?我们知道UI主线程的runloop会在应用程序启动时自动运行,那么主线程是睡眠还是处于死循环中?
while (!self.runLoopThreadDidFinishFlag) {
NSLog(@"Begin RunLoop");
[[NSRunLoop currentRunLoop] runMode:NSDefaultRunLoopMode beforeDate:[NSDate distantFuture]];
NSLog(@"End RunLoop");
}