在继续阅读文档之前,我的大脑在这一点上卡住了:
- (void)threadMainRoutine {
BOOL moreWorkToDo = YES;
BOOL exitNow = NO;
NSRunLoop *runLoop = [NSRunLoop currentRunLoop]; // is this THE run loop?
// some stuff...
while (moreWorkToDo && !exitNow) { // or is THIS the run loop?
// some stuff
[runLoop runUntilDate:[NSDate date]];
// some stuff
}
// some stuff
}
我在代码示例中添加了一些注释。也许有人可以解释一下,如果有一个 runLoop 对象接收到 -runUntilDate: 消息,为什么会有一个 while 循环。我的意思是:这里的循环是谁?我看到两个。首先 while 这显然是一个正在运行的循环,然后它调用一个听起来像是在运行一个循环的方法。
stateConfused = YES;
pleaseExplain = YES;