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